Homelab Ops
14 Hosts, etwa 110 Container und die Disziplin, die Doku übersichtlich zu halten
Überblick
Kontext, Ansatz und Ergebnis.
Problem
Ein Homelab hört genau dann auf, ein Hobby zu sein, wenn dein Haushalt davon abhängt. Bei mir war dieser Punkt erreicht — DNS, Hausautomation, Medien, Dokumentenspeicher und SSO-nahe Passwortdienste laufen alle darauf. Ab diesem Moment ist der Ausfallmodus nicht mehr „ein Dienst ist down“. Es ist „ich weiß nicht mehr, warum das so konfiguriert ist, und die einzige Person, die es wusste, war ich selbst vor sechs Wochen“.
Meine Rolle
Alleiniger Architekt und Betreiber. Jeder Host, jede Compose-Datei, jede Entscheidungsdokumentation.
Rahmenbedingungen
- Einzelner Betreiber, abends und am Wochenende. Alles, was regelmäßig meine Aufmerksamkeit braucht, wird sie irgendwann nicht mehr bekommen.
- Echte Abhängigkeiten. DNS- und Hausautomationsausfälle sind im Haushalt innerhalb von Minuten sichtbar.
- Kein Cloud-Notausgang für die Dinge, die zählen — der Punkt ist, dass es hier läuft.
Architektur
Ein Proxmox-Knoten hostet zweckgetrennte Docker-VMs: gemeinsame Infrastruktur (Reverse Proxy, SSO, Metriken, Logs, Uptime, Push-Benachrichtigungen), ein operatives Backend (selbstgehostetes Git, CI-Runner, ein Append-only Event-Ledger), benutzerorientierte Wissens- und Dokumenten-Apps sowie eine Sandbox für Experimente und öffentliche Demos. Ein NAS hält Persistenz und Backups und dient gleichzeitig als zweiter DNS-Knoten. Eine separate GPU-Workstation betreibt den lokalen Modell-Stack.
Der Ingress läuft über einen einzigen Reverse Proxy mit Forward-Auth vor allem Internen. DNS läuft hochverfügbar über zwei Knoten mit einseitigem Policy-Sync aus einer festgelegten Quelle der Wahrheit, sodass das Replikat niemals zur zweiten Meinung abdriften kann.
Alles ist Git-gestützt und Git-first: Inventar, Compose-Dateien, Runbooks und Entscheidungsdokumentationen leben in einem Repo, und die laufende Flotte wird von Read-only-Collector-Agents gegen dieses Repo verglichen, die selbst nichts ändern und ihre eigenen Fehler aufzeichnen, statt abzustürzen.
Ergebnis
14 Hosts und etwa 110 Container, dokumentiert in 368 Markdown-Seiten: 21 Architektur-Entscheidungsdokumente, 131 Runbooks — inklusive Wiederherstellungsprozeduren für jeden zustandsbehafteten Dienst — und Postmortems, ehrlich genug, um auch die Fixes zu enthalten, die nicht funktioniert haben.
Was ich anders machen würde
Die Entscheidungsdokumente von Anfang an schreiben, statt sie später rekonstruieren zu müssen. Das Teure war nie die Konfiguration; es war das Wiederherstellen der Gründe hinter einer Konfiguration, die ich längst vergessen hatte. Und die USV kaufen, bevor dich ein unsauberer Stromausfall dazu zwingt, es zu lernen.
Erkenntnisse
Was ich mitnehme.
Im Homelab teste ich Ops-Patterns, bevor ich sie im Job einsetze – günstiger Blast-Radius, hohe Lernrate. Das erfolgreichste Pattern war „Read-Only First“: Collector-Dienste, die erst beobachten und berichten, um Vertrauen zu gewinnen, lange bevor sie irgendetwas am Zustand ändern dürfen.
Stack
Tools und Plattformen.
Verwandte Texte
Notizen aus diesem Projekt.
- Documentation That Publishes Itself, After I Say YesMy homelab writes its own wiki pages. Every one of them still passes through a pull request I merge by hand, and publishing happens only from main.
- The Journal That Writes ItselfEvery morning my homelab turns its own event log into a written summary and posts it to my notes app. The interesting part is what it does when it cannot tell whether it already did.
- A Sandbox for Demos You Throw AwayOne box runs every client demo I have live. The pattern is unremarkable; the interesting part was my monitoring reporting four healthy demos as missing.
- Upgrading Production DNS by Never Touching the Live NodeTwo Pi-holes, a floating IP, and a major-version upgrade on the box that resolves everything in the house. The trick is that the safe procedure and the risky procedure look identical from the outside.
- The Network Is the Layer I Documented LastMy homelab has an IPAM, metrics from every access point, and a config file for the network that is entirely placeholders — with a warning at the top admitting it.
- The Outage Was Never the Thing I Was DebuggingA homelab-wide outage at 01:45. I blamed the reverse proxy, then the IPS, then the SSO layer. The root cause was a network port down at the switch — everything I suspected was a symptom.
- Homelab Notes: Running Services Behind TraefikMy current homelab setup, why I moved off nginx-proxy, and what broke along the way.
Reden wir
Möchtest du über solche Arbeit sprechen?
Wenn du für ähnliche Backend-, AWS-, Voice- oder Integrations-Arbeit einstellst — oder einfach Architektur-Notizen vergleichen willst — melde dich direkt.