Commit Graph
158 Commits
Author SHA1 Message Date
ginnoir 16b08bad8a feat: add management stack (portainer, uptime-kuma, homarr)
Add portainer, uptime-kuma, and homarr on a new 'management' network, with caddy joined to it and internal-only Caddy routes for portainer/uptime/homarr/router. Widen the internal_only allowlist to also accept 172.16.0.0/12 (Docker networks) and 127.0.0.1 so container-originated and local checks pass the LAN gate.
2026-06-03 04:06:55 -05:00
ginnoir 24e0f870dd fix: set DOCKER_API_VERSION=1.40 for watchtower compatibility with Docker 29
Watchtower's latest image defaults to API version 1.25; Docker 29 raised
its minimum supported client API to 1.40, causing watchtower to crash on
every start. Setting DOCKER_API_VERSION=1.40 via env var overrides the
default without requiring a newer watchtower image.
2026-06-02 23:08:37 -05:00
ginnoir 20165f48a0 chore: explicit container_name on every service, document compose v2 migration
Every service now has an explicit container_name, eliminating the
htpc-download-box_ prefix/suffix that compose derived from the directory.
Disambiguated duplicates follow type_context naming:
  postgres_resume / postgres_famapp / postgres_authentik
  minio_resume / minio_famapp
  redis_authentik

Also updates CLAUDE.md and the homelab-ssh skill to reflect:
- compose v2 (docker compose, space) replacing the old v1.27.4 standalone
- dc alias updated to docker compose
- htpc-download-box directory is now clean (legacy cruft removed)

Server-side migration steps (docker-compose-plugin apt install, alias
update, Docker Engine upgrade, old binary removal) are documented in
the session but not yet applied — run apply-compose.ps1 -Compose after
completing them.
2026-06-02 22:58:23 -05:00
ginnoir 41685b3763 Merge branch 'main' of https://github.com/ginnoir/homelabstack 2026-06-02 22:36:35 -05:00
ginnoir b18240f4ae chore: gitignore .claude/settings.local.json (personal override) 2026-06-02 22:34:07 -05:00
ginnoir e841334316 fix: split ambiguous AUTH_SECRET and remove dead Matrix routes
RESUME_AUTH_SECRET and FAMAPP_AUTH_SECRET now replace the bare AUTH_SECRET (previously defined 3x in .env, last-wins). Each is pinned to the value its container is already running, so re-applying recreated nothing. This fixes resume's app reading \\\, which was undefined and resolved to an empty string -- the next container recreate would have wiped all resume sessions. Caddyfile: removed matrix.ginnoir.com and the ginnoir.com apex .well-known/matrix block (no Synapse backend on :8008). Applied to valhalla: dc config resolves with no warnings, Caddy reloaded, dc up -d left every service up-to-date.
2026-06-02 22:33:59 -05:00
ginnoir 56d834ede9 chore: initial homelab stack config and sync tooling
Mirror the three production files (docker-compose.yml, .env, Caddyfile) that live on valhalla, plus the push/pull PowerShell scripts, CLAUDE.md, .gitignore/.gitattributes, and .claude/skills for ssh/apply/sync.
2026-06-02 22:12:07 -05:00
ginnoirandGitHub beee57607f Initial commit 2026-06-02 21:32:30 -05:00