Homelab as code

CodeArchitecture notes

A personal project, built in public. The repository states which parts exist, and so does this page.

Problem

My home server ran 32 containers across 11 Compose stacks, all hand-edited. It worked, but it drifted: when I started the rebuild, only 13 of the 22 service hostnames matched what the documentation claimed. Server configuration that exists only on the machine cannot be reviewed, repeated or recovered.

Approach

Where it stands

What’s next

The other stacks are still hand-managed, and converting them is the bulk of the work. The roadmap in the repository lists the remaining phases: the service inventory with generated Traefik routes, SOPS-encrypted secrets, documentation generated and checked in CI, alert routing and runbooks, and an automated disaster-recovery drill.

How to run it

It is written for one specific machine, so it is meant to be read rather than run. The architecture notes describe the host, its storage layout and how the repository relates to what runs on it.