wiki / noc-homelab / overviewedited 2026-07-19
noc-homelab

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

noc-localmacOS — dashboard host, sole writable git clone, Cloudflare tunnels.noc-tuxUbuntu — media pipeline (Zurg → Rclone → Emby), Matrix stack, observability (Loki/Grafana), CrowdSec.noc-clawmacOS — on-device LLM runtime (MLX), log triage.noc-baguetteAlmaLinux 9 on an OVH VPS — rathole tunnel server for public ingress.

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.