Dies ist der erste Eintrag in dem, was ich das Homelab-Tagebuch nenne: ein laufendes Protokoll meines Self-Hosting-Setups, was funktioniert, was gerade brennt, und was ich am Ende dagegen unternehme.

So sieht der aktuelle Stand aus. Irgendwann im Laufe der Zeit bin ich bei einem Medienserver für eine Bibliothek mit inzwischen über 30.000 Songs und Filmen gelandet, dazu ein paar private Tools, die ich täglich nutze, ein Foundry-VTT-Container, den meine Gruppe für unsere Pen-and-Paper-Sessions verwendet, sowie ein paar Websites, einschließlich der, auf der du das hier gerade liest, und mein eigenes gitea-Repository. Dazu kommt ein Matrix-Synapse-Server, den ich eingerichtet habe, als die Debatte um die EU-Chatkontrolle an Fahrt aufnahm — vor allem damit meine eigenen Chats nicht davon abhängen, was eine Plattform oder ein Regulator als Nächstes entscheidet. Interne Dienste laufen hinter einem Reverse-Proxy, und die öffentlich zugänglichen gehen über einen Cloudflare-Tunnel raus statt direkt exponiert zu sein. Fast alles wird über Portainer verwaltet, auf das ich per VPN zugreife, wenn ich nicht zu Hause bin.

Auf dem Papier klingt das alles gar nicht so schlecht. In der Praxis ist es ein einziges Chaos.

Die ehrliche Version: Ich habe keine Dokumentation. Wenn etwas kaputtgeht, kann ich es nur reparieren, weil ich mich erinnere, wie ich es gebaut habe — nicht weil irgendwo eine Datei erklärt, wie es funktioniert. Nichts davon ist als Code definiert. Container und Dienste kamen nach und nach dazu, über Monate hinweg, immer wenn ich gerade Lust hatte, etwas hinzuzufügen, was bedeutet, dass das Setup eher die Reihenfolge widerspiegelt, in der ich neugierig auf bestimmte Dinge wurde, als irgendeinen tatsächlichen Plan. Backups gibt es für einiges davon, aber nicht für alles, und ich könnte dir ehrlich gesagt nicht mit Sicherheit sagen, welche Teile abgedeckt sind. Bei der Sicherheit ist es dasselbe: manche Dienste sind ordentlich abgesichert, andere wurden in Eile freigegeben und nie wieder angefasst. Und weil alles so gewachsen ist, habe ich zeitweise den Überblick verloren, was überhaupt läuft. Ich öffne Portainer, um eine Sache zu überprüfen, und finde zwei Container, von denen ich vergessen hatte, dass es sie überhaupt gibt.

Also habe ich beschlossen, alles neu aufzubauen. Nicht flicken, nicht Dienst für Dienst aufräumen, sondern von vorne anfangen, mit etwas, das ich tatsächlich nachvollziehen kann: Infrastructure as Code, eine echte Backup-Strategie, die konsistent angewendet wird statt pro Dienst einzeln, und Dokumentation, die irgendwo anders existiert als in meinem Kopf. Ich habe noch nicht damit angefangen, und genau deshalb wollte ich das hier zuerst aufschreiben. Ich will festhalten, wie das Chaos wirklich aussah, bevor ich es verschwinden lasse, und ich will, dass die nächsten Einträge in dieser Serie den Umbau begleiten, während er passiert, statt dass ich ihn im Nachhinein zusammenfasse, wenn schon alles ordentlich aussieht.

Nächster Eintrag: der eigentliche Plan, und wahrscheinlich das erste, was nicht so läuft wie erwartet.