Zentrale Steuer- und Überwachungszentrale für mein gesamtes Heimnetz und die Familien-Cloud — ein selbstgebautes Admin-Portal, das Monitoring und Steuerung unter einer Oberfläche vereint: Live-Metriken und Docker-Container aller Hosts, Dienste-Health, Platten- und TLS-Zertifikats-Drift, apt-Updates und Reboots per Knopfdruck, Wecken schlafender Scale-to-Zero-Hosts via Wake-on-LAN. Dazu die komplette Verwaltung der Familien-Remote-Desktops (VDI): Provisionierung, Zeitlimits, Kinder-Webfilter und ein Kiosk-Login, mit dem Familienmitglieder per PIN direkt in ihre Desktop-Session kommen.
Technisch: FastAPI + SQLite + Jinja2, Host-Agents pushen ihre Metriken ans Portal; sämtliche Cross-Host-Aktionen laufen ausschließlich über SSH-Forced-Command-Keys (Least Privilege, kein Shell-Zugriff). Die Desktop-Orchestrierung klont Proxmox-VMs von Golden-Templates und verdrahtet sie mit Apache Guacamole — inklusive Single-Sign-On über signierte und verschlüsselte JSON-Tokens, sodass die Guacamole-Loginseite entfällt. Kinder-Desktops sind ephemer (Reset auf Template-Zustand per Button, persönliche Daten überleben im NAS-Home), Webfilter-Policies werden deklarativ nach AdGuard Home synchronisiert — mit Config-Check-Gate, DNS-Selbsttest und Auto-Rollback. Drift-Überwachung meldet stumme Hosts, volle Platten, ablaufende Zertifikate und veraltete Sicherungen in die zentrale Bug-Inbox — inklusive Alarm-Steuerung (Wartungsfenster, Schlummern, „planmäßig aus" statt „kaputt"), Metrik-Trends mit Energie-Schätzung, Netzwerk-Inventar mit Neugerät-Erkennung, Log-Einsicht ohne Shell-Zugang und Wächtern, die nicht nach Erreichbarkeit fragen, sondern nach Eignung.
Central control and monitoring hub for my entire home network and family cloud — a self-built admin portal that unifies observability and control in one place: live metrics and Docker containers for every host, service health, disk and TLS certificate drift, one-click apt updates and reboots, and waking sleeping scale-to-zero hosts via Wake-on-LAN. It also manages the family's remote desktops (VDI) end to end: provisioning, screen-time limits, per-child web filtering, and a kiosk login that takes family members straight into their desktop session with just a PIN.
Under the hood: FastAPI + SQLite + Jinja2, with host agents pushing their metrics to the portal; all cross-host actions run exclusively through SSH forced-command keys (least privilege, no shell access). Desktop orchestration clones Proxmox VMs from golden templates and wires them into Apache Guacamole — including single sign-on via signed and encrypted JSON tokens, so the Guacamole login page disappears entirely. Kids' desktops are ephemeral (one-button reset to template state, personal data persists in a NAS home), and web-filter policies sync declaratively to AdGuard Home with a config-check gate, DNS self-test, and automatic rollback. Drift monitoring reports silent hosts, full disks, expiring certificates and stale backups to a central bug inbox — including alarm control (maintenance windows, snooze, "planned-off" instead of "broken"), metric trends with power estimates, a network inventory with new-device detection, log access without shell access, and watchers that ask not about reachability but about fitness.
Melden, entscheiden, eingreifen — und wer wen dabei fragen darfReport, decide, act — and who is allowed to ask whom
Sehen und eingreifen an einer Stelle
Vorher gab es für jedes Stück Hausinfrastruktur eine eigene Oberfläche: eine für die Virtualisierung, eine fürs Monitoring, eine für die Arbeitsplätze der Familie, und für den Rest eine Terminal-Sitzung. Wer nachsehen wollte, ob etwas in Ordnung ist, brauchte fünf Tabs und musste wissen, welcher davon die Wahrheit sagt.
MyWorldControl ist der Versuch, das auf eine Seite zu bringen — und zwar nicht nur zum Zuschauen. Was man dort sieht, kann man dort auch tun: Updates einspielen, einen Dienst neustarten, einen schlafenden Rechner wecken oder schlafen legen, einen Kinder-Arbeitsplatz auf den Ausgangszustand zurücksetzen.
Was überwacht wird, ist nicht der Messwert, sondern die Abweichung
Ein Bildschirm voller Zahlen sagt wenig. Interessant ist, was anders ist als gestern: ein Host, der sich nicht mehr meldet. Eine Platte, die schneller voll läuft als sonst. Ein Zertifikat, das abläuft. Eine Sicherung, die zwar existiert, aber nicht jünger wird.
Deshalb meldet die Zentrale Abweichungen und nicht Zustände — und alles, was sie meldet, landet in einer gemeinsamen Ablage statt in vier verschiedenen Postfächern.
Die eigentliche Lehre: „läuft es noch?" ist die falsche Frage
Zwei Ausfälle haben das gezeigt, und beide waren unsichtbar, weil nichts kaputt war.
Der erste: Ein GPU-Rechner rechnete achtzehn Stunden lang auf dem Prozessor statt auf der Grafikkarte. Alles antwortete, jede Prüfung war grün, es war nur alles zwanzigmal langsamer. Ausgelöst hatte es ausgerechnet ein automatisches Sicherheitsupdate, das den Grafiktreiber unter dem laufenden Dienst weggetauscht hat — angestoßen von dieser Zentrale hier.
Der zweite: Das KI-Gateway wies unter Volllast Anfragen ab und meldete dabei durchgehend „gesund", weil seine Gesundheitsprüfung nur die Datenbank anfasst.
Beide haben denselben Kern:
Es meldet Erfolg, weil es nicht weiß, dass es nichts getan hat.
Seither gibt es Wächter, die nicht nach Erreichbarkeit fragen, sondern nach Eignung: Läuft die Rechenarbeit dort, wo sie hingehört? Werden gerade Anfragen abgewiesen? Reicht die Hardware für das, was gerade verlangt wird?
Alarm-Disziplin
Ein Alarm, der zu oft ohne Grund kommt, wird abgeschaltet — und dann fehlt er, wenn er stimmt. Also:
Wartungsfenster: Wer selbst gerade etwas umbaut, bekommt keine Meldung darüber.
Schlummern: Weglegen, aber wiederkommen — nicht wegklicken und vergessen.
Geplant aus ist kein Fehler. Ein Rechner, der zum Stromsparen schläft, wird nicht als
Ausfall gemeldet. Ein Rechner, der schlafen sollte und nicht antwortet, schon.
Und ein Nebeneffekt aus derselben Ecke: Auch die Zentrale selbst hat einmal Lärm erzeugt — eine Warnung, deren Text bei jedem Auftreten andere Zahlen enthielt, kam als fünfundsechzig verschiedene Meldungen an. Zahlen gehören in die Auswertung, nicht in den Meldungstext.
Zugriff ohne Zugang
Jede Aktion auf einem fremden Rechner läuft über einen Schlüssel, der genau eine Sache kann — keine freie Sitzung, kein „mal eben etwas anderes". Auch die Log-Einsicht in der Oberfläche liest nur aus einer festgelegten Liste, und was persönliche Daten enthalten könnte, ist gar nicht erst dabei.
Der Grund ist unaufgeregt: Eine Weboberfläche, die alles darf, ist genau so viel wert wie ihr schwächstes Formular.
See and act in one place
Before, every piece of house infrastructure had its own interface: one for virtualisation, one for monitoring, one for the family's desktops, and a terminal session for the rest. Anyone wanting to check whether things were fine needed five tabs and had to know which of them told the truth.
MyWorldControl is the attempt to bring that onto one page — and not just to watch. What you see there you can also do there: apply updates, restart a service, wake a sleeping machine or put it to sleep, reset a child's desktop to its initial state.
What gets monitored is not the value but the deviation
A screen full of numbers says little. What matters is what is different from yesterday: a host that stopped reporting. A disk filling faster than usual. A certificate about to expire. A backup that exists but is not getting any younger.
So the hub reports deviations, not states — and everything it reports lands in one shared place instead of four different inboxes.
The real lesson: "is it still running?" is the wrong question
Two failures showed this, and both were invisible because nothing was broken.
The first: a GPU machine spent eighteen hours computing on the processor instead of the graphics card. Everything answered, every check was green, it was merely twenty times slower. The trigger was, of all things, an automatic security update that swapped the graphics driver out from under the running service — initiated by this very hub.
The second: the AI gateway was rejecting requests at full load while continuously reporting "healthy", because its health check only touches the database.
Both share the same core:
It reports success because it does not know that it did nothing.
Since then there are watchers that do not ask about reachability but about fitness: is the work running where it belongs? Are requests being rejected right now? Is the hardware still enough for what is being asked of it?
Alarm discipline
An alarm that too often fires without cause gets switched off — and then it is missing when it is right. So:
Maintenance windows: whoever is currently rebuilding something gets no alerts about it.
Snooze: put it aside but come back — not click it away and forget.
Planned-off is not a failure. A machine sleeping to save power is not reported as down. A
machine that should be sleeping and doesn't answer, is.
A side note from the same corner: the hub itself once produced noise — a warning whose text contained different numbers each time arrived as sixty-five distinct alerts. Numbers belong in the analysis, not in the alert text.
Access without a way in
Every action on another machine runs through a key that can do exactly one thing — no free session, no "while I'm here". The log view in the interface likewise reads only from a fixed list, and anything that could contain personal data is not on it in the first place.
The reason is undramatic: a web interface that may do everything is worth exactly as much as its weakest form.
18
Cookies & Datenschutz
Cookies & Privacy
Diese Website verwendet einen Session-Cookie, um Mehrfachzählungen beim Besuchszähler zu vermeiden.
Es werden keine Daten an Dritte weitergegeben.
This site uses a session cookie to avoid counting your visit multiple times.
No data is shared with third parties.