Commit Graph

24 Commits

Author SHA1 Message Date
danlin d875c9c0cc Remove temporary smoke-test workflow
Runner verified working end-to-end (Podman executor, alpine job, success).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 22:22:06 +02:00
danlin df498a8494 smoke-test: use sh shell (alpine has no bash)
smoke-test / smoke (push) Successful in 13s
2026-07-18 22:21:16 +02:00
danlin 5803215702 Add temporary smoke-test workflow (to be removed)
smoke-test / smoke (push) Failing after 13m30s
2026-07-18 21:53:50 +02:00
danlin 2e78934b3a Use Podman (not Docker) as the gitea-actions-runner backend
The default docker package is marked insecure; the runner module already
supports Podman natively (DOCKER_HOST -> /run/podman/podman.sock, group
podman), and the socket + group are already present on the host.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 21:37:09 +02:00
danlin ac80d261b8 Add Gitea Actions runner (Docker executor)
- Enable Gitea Actions in the container (GITEA__actions__ENABLED)
- Run dockerd alongside podman for job containers
- services.gitea-actions-runner: instance-wide runner "fileserver",
  Docker labels, registered against the internal LAN URL; reads the
  registration token from /data/secrets/gitea-runner-token

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 21:14:41 +02:00
danlin 7f1767345a Remove dj-beets project
No longer in use. Drops the beets containers (cli/web), build +
autoimport services and timer, the beet CLI wrapper, /opt/dj-beets
tmpfiles entry, firewall port 8337, the Makefile copy step, and the
src/dj-beets tree (which contained a Beatport token) so the repo can
be made public safely.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 19:50:03 +02:00
danlin ad1dd816f4 Add LAN-only music vhost and enable weekly autoUpgrade
- gateway: replace konnektor/api/auth/mailpit vhosts with
  music.home.lindenfelser.de -> 10.202.82.195:80, LAN-only (403 otherwise)
- common: enable system.autoUpgrade, pulling config from Gitea main and
  overriding nixpkgs to the nixos-25.11 tip for weekly package refresh;
  reboot allowed in a 04:00-06:00 window

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 18:51:02 +02:00
danlin a0658b3a97 Merge branch 'claude/stoic-edison-841399'
* Remove k8s-server host
* Clean up duplicate sections in README
* Track latest gitea release
* Add konnektor + api/auth/mailpit reverse proxies
* Point konnektor.home at konnektor-web

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 00:58:42 +02:00
danlin cb0c3c791b Persist filebrowser config to /data/filebrowser
Mount /data/filebrowser as /config and point FB_DATABASE at
/config/filebrowser.db so the user/share database survives
container recreations.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 00:58:29 +02:00
danlin 7568578f60 Point konnektor.home.lindenfelser.de at konnektor-web
konnektor-web is deployed and listening on 10.202.82.49:8082.
Replace the 503 placeholder with a real reverse_proxy.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 00:52:35 +02:00
danlin bb30e1ab3c Expand konnektor vhosts: api, auth, mailpit
Repoint konnektor.home.lindenfelser.de to a 503 placeholder
until konnektor-web is built. Add api.* and auth.* subdomains
pointing at konnektor-api (8080) and Zitadel (8081); auth
forwards Host header so Zitadel routes correctly. Add
mailpit.* restricted to LAN 10.202.82.0/24.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 23:53:46 +02:00
danlin 96c16b6f52 Add konnektor reverse proxy to gateway
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 22:26:24 +02:00
danlin c8ccc76173 Track latest gitea release instead of pinning to 1.25
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 21:50:03 +02:00
danlin 5f1b06da70 Remove duplicate sections from README
The rclone, SMB password and Troubleshooting sections were
present twice in the file. Drop the second copy.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 21:35:52 +02:00
danlin d9a1dde5a5 Remove k8s-server host
Drop k8s-server from flake, Makefile targets, modules
(kubernetes.nix, docker-registry.nix), install script and
hardware config. Remove related registry vhost, port 6443
and NAT rules from gateway.nix. Drop K8s-Server section
and dangling markdown wrapper from README.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 21:29:46 +02:00
danlin 42bb1c8092 Fix upgrade-containers to only pull images from active containers
Use podman ps instead of podman images to avoid pulling dangling
<none> entries and stale unused images.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 17:49:36 +01:00
danlin fe7182291b Add upgrade-containers target to pull and restart podman containers
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 17:47:50 +01:00
danlin c4938a6c05 Remove plaintext secrets, update SSH key, and upgrade to NixOS 25.11
Replace initialPassword with hashedPassword for danlin user, move
FileBrowser admin password to external environmentFile with restricted
secrets directory, update SSH authorized key, and bump nixpkgs to 25.11.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 17:44:03 +01:00
danlin dd943ffd16 Add Docker Registry configuration for k8s-server with TLS and authentication 2025-12-16 10:47:15 +01:00
danlin a83976c615 Add k8s-server deployment target and enable QEMU guest agent in common configuration 2025-12-15 23:50:28 +01:00
danlin 0425868cdc Add k8s-server configuration and deployment scripts 2025-12-15 17:12:10 +01:00
danlin cdf71a5ded Add Gitea container configuration and update firewall rules for access 2025-12-15 09:46:14 +01:00
danlin b92ccc8360 Update WSDD service configuration for improved network handling and stability 2025-12-09 16:57:48 +01:00
danlin dbc64845f4 Add initial pyproject.toml for dj-beets project with dependencies and metadata 2025-12-08 10:40:52 +01:00