Homelab-Update Herbst 2026: Alles als Code, echte Backups und eine selbst gehostete Website

Noah Kleinert
ansibledockernetzwerkebackupsself-hosting

Im April habe ich hier mein Homelab vorgestellt. Seitdem ist ziemlich viel passiert, und es sieht kaum noch etwas so aus wie damals. Der größte Unterschied ist aber gar nicht die Hardware, sondern wie ich alles verwalte.

Angefangen hat alles mit einer kaputten SD-Karte. Die Karte im Raspberry Pi 3B+ hat sich verabschiedet, und damit war das komplette System weg. Darauf lief zwar nur Klipper, also nichts Wichtiges, aber ich habe gemerkt, dass ich nichts recovern konnte.

Mein Problem war nämlich: Alles lief, aber ich hätte nicht mehr sagen können, warum. Irgendwo hatte ich mal einen Container per Hand gestartet, irgendwo eine Einstellung in einer Weboberfläche geändert. Wenn mir der Pi 5 abgeraucht wäre, hätte ich wahrscheinlich ein ganzes Wochenende gebraucht, um alles wieder aufzubauen. Also habe ich angefangen, Dinge zu ändern:

  1. Alles soll aus Dateien in einem Git-Repo aufgebaut werden können.
  2. Es soll richtige Backups geben, auch außer Haus.

1. Infrastructure as Code mit Ansible

Wie im letzten Beitrag angekündigt, habe ich mich in Ansible eingearbeitet. Inzwischen gibt es ein Repo, in dem jeder Host und jeder Dienst beschrieben ist. Ein make deploy HOST=pi5 reicht, und der Pi wird so eingerichtet, wie es im Repo steht: Pakete, SSH-Härtung, Docker und alle Compose-Stacks.

Ein paar Sachen, die ich dabei gelernt habe:

  • Rollen sind super, um Code wiederzuverwenden. Die Rolle für Docker-Stacks nutze ich zum Beispiel auf allen Hosts.
  • Secrets gehören nicht im Klartext ins Repo. Ich verschlüssele sie mit SOPS und age. Im Repo liegen nur verschlüsselte Dateien, Ansible entschlüsselt sie erst beim Deploy.
  • Die VM auf dem ProDesk lege ich mit OpenTofu (dem Open-Source-Fork von Terraform) an. Proxmox habe ich dafür einmal komplett leer gemacht, die alte Windows-VM ist weg.
  • Renovate schaut jeden Samstag, ob es neue Versionen von meinen Container-Images gibt, und macht dafür Pull Requests. Ich muss nur noch prüfen und mergen.

Für alle Änderungen habe ich weitaus mehr Zeit gebraucht, als ich für einen abgerauchten Pi 5 gebraucht hätte, aber jetzt kann ich Sachen ausprobieren, ohne Angst zu haben, etwas kaputt zu machen, weil ich jederzeit zurück kann.


2. Netzwerk: VLANs

Den MikroTik hEX S hatte ich ja extra wegen der VLANs gekauft, und jetzt nutze ich sie auch. Es gibt zwei Netze:

  • Server-Netz: Pis, ProDesk, NAS.
  • Heimnetz: Desktop, Laptop, Handy und das WLAN.

Die Firewall auf dem Router lässt aus dem Heimnetz nur DNS und den Reverse Proxy durch. Mein Desktop und mein Laptop dürfen als Admin-Geräte etwas mehr.

Die Umstellung habe ich Schritt für Schritt gemacht und die kritischen Teile im Safe Mode von RouterOS eingegeben. Der setzt alle Änderungen automatisch zurück, wenn die Verbindung abreißt. So kann man sich bei VLAN-Experimenten nicht aus Versehen vom eigenen Router aussperren.

Nun fehlt nur noch ein IoT-Netzwerk, aber mein momentaner WLAN-AP unterstützt weder mehrere Netzwerke noch VLAN-Markierung. Eventuell kommt aber bald der Umstieg auf einen AP mit OpenWrt.


3. Zugriff: Caddy, Authelia und Tailscale

Vorher hatte jeder Dienst seinen eigenen Port und sein eigenes Passwort. Jetzt läuft auf dem Pi 5 Caddy als Reverse Proxy. Jeder Dienst hat eine eigene Subdomain unter lab.noah-kleinert.de, und Caddy holt sich per DNS-Challenge bei Cloudflare ein Wildcard-Zertifikat. Dadurch habe ich auch intern überall HTTPS, ohne einen einzigen Port nach außen zu öffnen oder ein eigenes Zertifikat signieren zu müssen.

Davor sitzt Authelia für Single Sign-On mit Zwei-Faktor-Authentifizierung. Dienste, die OpenID Connect können (Grafana, Proxmox, Paperless, Portainer, Immich), melden sich direkt über Authelia an. Bei allen anderen fragt Caddy vorher bei Authelia nach, ob ich eingeloggt bin.

Um das auch von unterwegs nutzen zu können, habe ich Tailscale statt des WireGuard-VPNs im Router eingerichtet. Somit muss ich auch keinen VPN-Port am Router nach außen öffnen.


4. Neue Dienste

Auf dem ProDesk läuft jetzt erst mal nur noch eine Docker-VM mit diesen Diensten:

  • Immich für meine Fotos
  • Paperless-ngx für Dokumente mit Texterkennung
  • Vaultwarden als Passwortmanager
  • Karakeep für Lesezeichen und zum Archivieren von Artikeln
  • Stirling-PDF, weil ich keine PDFs mehr bei irgendwelchen Online-Tools hochladen will

Auf dem Pi 5 sind noch SearXNG (eine private Suchmaschine) und IT-Tools dazugekommen. Homarr habe ich durch Homepage ersetzt, weil man Homepage komplett über YAML-Dateien konfiguriert. Das passt einfach besser zu meinem „alles aus Dateien“-Ansatz.

Der Raspberry Pi 3B+ steuert übrigens keinen 3D-Drucker mehr (dazu weiter unten mehr). Statt von einer SD-Karte startet er jetzt von einer 256-GB-SSD im USB-Gehäuse, die deutlich robuster ist und mehr Dauerschreiben verträgt. Er ist jetzt der zweite Pi-hole (die Einstellungen werden mit nebula-sync vom ersten übernommen) und zeigt auf einem kleinen Touchscreen im Rack ein Grafana-Dashboard an.

10-Zoll-Serverrack mit Touchscreen, Patchpanel, Switch, Router, Raspberry Pi 5, HP ProDesk und NASMein Rack im Herbst 2026: oben das Grafana-Dashboard, darunter Patchpanel, Switch, hEX S, Pi 5, ProDesk und das alte ReadyNAS


5. Monitoring und Backups

Zu Prometheus, Grafana und Loki ist Uptime Kuma dazugekommen. Es läuft bewusst nicht auf dem Pi 5, sondern auf dem ProDesk, damit es auch melden kann, wenn der Pi 5 ausfällt. Die Monitore lege ich nicht per Hand an, sondern mit AutoKuma aus Dateien im Repo. Benachrichtigungen bekomme ich über ntfy aufs Handy.

Für Backups nutze ich restic. Jede Nacht wird auf zwei Ziele gesichert: lokal und auf eine Hetzner Storage Box, also außer Haus. Datenbanken werden vorher als Dump gesichert, damit sie im Backup auch wirklich konsistent sind. In Grafana habe ich mir ein Dashboard gebaut, das den Fortschritt live anzeigt, und einen „Backup jetzt“-Knopf. Den hätte ich nicht gebraucht, aber es war ein cooles Mini-Projekt.

Auch einen Restore von einem Backup habe ich einmal getestet, um sicherzugehen, dass es wirklich funktioniert.


6. Diese Website läuft jetzt bei mir

Bisher lag diese Seite bei Vercel. Weil die Seite komplett statisch ist, habe ich Next.js auf einen statischen Export umgestellt. GitHub Actions baut daraus bei jedem Push ein kleines nginx-Image, und mein Homelab holt sich neue Versionen automatisch ab.

Von außen ist die Seite über einen Cloudflare Tunnel erreichbar. Der Tunnel baut nur ausgehende Verbindungen auf, es ist also kein Port an meinem Router offen. Außerdem zeigt er nur auf den Website-Container und nicht auf den Rest meines Homelabs.

Vercel Analytics habe ich durch Umami ersetzt, das ich auch selbst hoste. Umami kommt ohne Cookies aus und speichert keine IP-Adressen, die Daten bleiben bei mir. Die Datenschutzerklärung habe ich entsprechend angepasst.


7. Neuer 3D-Drucker: Creality K1 Max

Beim 3D-Druck hat sich auch einiges getan.

Den Sidewinder X2 hatte ich zwischendurch wieder auf die originale Marlin-Firmware umgestellt, weil mir das Setup mit Klipper auf dem Pi 3B+ auf Dauer zu fummelig war. Leider hatte der X2 dann einen Kurzschluss in der Elektronik. Seitdem heizen Hotend und Druckbett unkontrolliert, und damit war der X2 leider raus, denn einen Drucker, der von alleine heizt, lasse ich nicht unbeaufsichtigt laufen. Eventuell traue ich mich aber irgendwann mal an eine Reparatur.

Creality K1 Max neben dem Sidewinder X2 auf der WerkbankRechts der neue K1 Max, links der ausgemusterte Sidewinder X2

Als Ersatz ist Anfang Oktober ein Creality K1 Max eingezogen. Die wichtigsten Unterschiede für mich:

  • CoreXY statt Bettschubser: Das Bett bewegt sich nur noch in Z, der Druckkopf übernimmt X und Y. Dadurch sind deutlich höhere Geschwindigkeiten möglich, ohne dass die Qualität leidet.
  • Großer Bauraum (300 × 300 × 300 mm): Das war mir wichtig, weil meine größten Teile Einsätze für das 10-Zoll-Rack sind, zum Beispiel die Halterung für den Touchscreen.
  • Geschlossenes Gehäuse: Hält Zugluft fern und macht Materialien wie ABS oder ASA überhaupt erst sinnvoll druckbar.
  • Plug and Play: Klipper läuft auf dem K1 Max schon ab Werk, Auto-Leveling und Kalibrierung macht er selbst. Nach meinen Erfahrungen mit dem X2 wollte ich bewusst einen Drucker, an dem ich nicht erst schrauben muss, bevor er vernünftig druckt.

Gesliced wird aktuell mit Creality Print. Der Drucker hängt per WLAN im Heimnetz, also nicht mehr an einem eigenen Pi.


Fazit & Ausblick

Das Homelab ist in den letzten Monaten von „läuft irgendwie“ zu „ich weiß, warum es läuft“ geworden. Für mich war das ein Riesenunterschied, und ich habe dabei mehr über Netzwerke, Linux und Automatisierung gelernt als in so mancher Vorlesung.

Nebenbei arbeite ich seit September als Werkstudent in der Softwareentwicklung bei der subshell GmbH. Deshalb ging es im Homelab zuletzt etwas langsamer voran.

Was kommt als Nächstes? Gegen Black Friday soll ein neues NAS kommen, auf dem ich TrueNAS SCALE installieren will. Dann wird das alte ReadyNAS endlich in Rente geschickt. Außerdem steht noch eine USV auf der Liste, damit ein kurzer Stromausfall nicht gleich alles lahmlegt. Eventuell bin ich auch noch so verrückt und stelle alle Container auf Kubernetes um. Wahrscheinlicher ist aber, dass ich ein paar VMs anlege und mir dort endlich mal Kubernetes anschaue.