A four-machine homelab running macOS, Linux, and a VPS, connected over Tailscale. It manages media streaming, Matrix communications, game streaming, and monitoring through a central dashboard and a per-machine agent API. The repo is the infrastructure and its documentation: service configs, systemd units and LaunchAgents, deployment scripts, and operational notes.
Machines
How it hangs together
The dashboard on noc-local polls each machine’s agent API for live service status; service control (start / stop / restart) is forwarded through the agents, which manage systemd units, LaunchAgents, and Docker containers.
File sync is hub-and-spoke: noc-local holds the only writable git clone, and Syncthing distributes the working tree to the other machines. Edits made on a spoke propagate back to the hub for commit — so the whole fleet’s config is one reviewed git history.
A public slice of the monitoring feeds this very site: the Machines section on the home page renders the status JSON the homelab publishes.
Elsewhere
Mirrored to GitHub from a self-hosted Forgejo. Secrets are git-crypt-encrypted in the repo; the plaintext never leaves the machines.