Commit Graph
14 Commits
Author SHA1 Message Date
ginnoir ef107dd743 fix: make portainer stacks use stack env only 2026-06-14 22:56:38 -05:00
ginnoir 2a76a8f1f8 refactor: move gitea and registry to management plane 2026-06-14 22:54:31 -05:00
ginnoir 1289e0a615 fix: preserve gitea database password in dev stack 2026-06-12 01:22:42 -05:00
ginnoir fdc2eddf03 fix(dev): use resolvable bookstack mariadb tag 2026-06-11 17:18:38 -05:00
ginnoir f91a993c58 feat(dev): add gitea actions runner 2026-06-11 17:13:39 -05:00
ginnoir 51acb44322 Ship homelab quick wins: Recyclarr, infra pins, jd.ginnoir.com, and LAN lockdown.
Deploy to valhalla / deploy (push) Has been cancelled
Add Recyclarr to the media stack, pin database/object-store/Caddy/Vault images with Watchtower disabled, expose JDownloader at jd.ginnoir.com, and restrict minio/homarr/docs to internal_only. Mark TB-002–004 and TB-033 complete; bundle batch-3 OIDC env for FreshRSS, ownCloud, and Reactive Resume.
2026-06-11 02:28:06 -05:00
ginnoir 1ce63153ab Persist TB-006 batch 2 media SSO and batch 1 auth fixes to the repo.
Media sites get Caddy forward_auth; Authentik scripts cover all proxy providers. BookStack OIDC and Plane admin routing fixes included, plus ops scripts for external auth on valhalla.
2026-06-11 01:19:06 -05:00
ginnoir 63889fc150 Complete TB-006 batch 1 SSO so admin apps use Authentik without double login.
Deploy to valhalla / deploy (push) Has been cancelled
Native OAuth/OIDC for Homarr, BookStack, Gitea, and MinIO console; forward_auth with local auth disabled for code-server, uptime, and kopia; Caddy and Authentik scripts updated to match.
2026-06-10 23:52:14 -05:00
ginnoir 1e2970d220 chore: add env_file: stack.env to all compose services
Portainer git-stack deployments require an explicit env_file reference
in the compose file to load variables from the repo's stack.env.
Adds env_file: [stack.env] before every service-level environment:
block across all 10 stacks.
2026-06-04 22:11:51 -05:00
ginnoir 1cb0af1b0d feat(dev): add joxit registry-ui container + registry-ui.ginnoir.com Caddy block 2026-06-04 20:29:32 -05:00
ginnoir 49fefd57f4 fix(plane): bind plane_web to 0.0.0.0 so Caddy can reach it over edge network 2026-06-04 20:19:28 -05:00
ginnoir d73008dd9c fix(plane): add CELERY_BROKER_URL so api/worker/beat use Redis not AMQP 2026-06-04 20:06:20 -05:00
ginnoir c5f8e41e8a fix(bookstack): set APP_KEY so init no longer halts (docs.ginnoir.com 502)
linuxserver/bookstack refuses to start without APP_KEY:
  'The application key is missing, halting init!'
nginx never bound :80, so caddy -> bookstack:80 -> connection refused -> 502.

Key generated via 'docker run --rm --entrypoint /bin/bash
lscr.io/linuxserver/bookstack:latest appkey' on valhalla. Stored in
stacks/dev/.env per per-stack secrets policy; do NOT rotate without
invalidating existing sessions.
2026-06-04 19:25:01 -05:00
ginnoir 57cd6ed270 refactor: split monolith into per-domain stacks (Phase A: build)
Add stacks/<domain>/ compose + env for the 11 target stacks (proxy, media,
foundry, owncloud, resume, famapp, authentik, notify, monitoring, remote, dev).
Each app stack joins a shared external `edge` network for Caddy and keeps its
DB/cache co-located (no shared backing services). All named volumes convert to
tiered bind mounts: DBs/configs -> /config (SSD), blobs/repos/registry ->
/storage1/labdata (ZFS). Gitea repos+LFS split to ZFS.

Move Vault into the management plane (portainer-compose.yml) and add the shared
`edge` network there. apply-compose.ps1 -Portainer now also pushes vault.hcl.

Additive only: root docker-compose.yml/.env/Caddyfile untouched, so the live
monolith is unchanged. Live cutover (Phase B) is next.
2026-06-04 16:11:31 -05:00