Build notes and tutorials from a three-site homelab: GitOps-deployed, Docker Compose across a home hub, a media box, and a public-edge VPS.
Everything documented here runs in production (well, my production). The series is written in dependency order so it can be followed from a blank server, and the mistakes are left in on purpose: the pitfall sections are the parts I’d most want to read.
Stack at a glance: Traefik, Authentik, Komodo, ZeroTier, SOPS + age, Stalwart, restic, glued together with Docker Compose and a strong opinion that the repo is the only source of truth.