Eigenes Proxmox-Homelab — der Test-Spielplatz für Kundenprojekte

Ein Cluster aus drei Knoten, fünfzehn VMs, ein paar LXC-Container, verschlüsselte Off-Site-Backups. Hier probiere ich Sachen aus, bevor sie zu Kunden gehen — und hoste nebenbei meine eigene Tooling-Welt.

Branche
Eigene Infrastruktur · Continuous Project
Zeitraum
laufend seit 2022, kontinuierlich erweitert
Rolle
Architektur, Aufbau, Betrieb
Stack
Proxmox VE 8, Docker, Restic, Prometheus, Grafana
Ausgangslage

Wie das angefangen hat.

Es gibt einen einfachen Grund, warum ich ein eigenes Homelab betreibe und kein Kunden-Setup als Sandbox missbrauche: Lernen darf wehtun, aber bitte mir, nicht dem Kunden. Wenn ich eine neue Datenbank-Version testen will, ein VPN-Konzept durchspiele oder ein Update-Pfad wackelig aussieht, geht das hier zu Hause auf eigenem Blech kaputt — nicht im Produktivbetrieb von jemandem, der mich bezahlt.

Das Lab ist über drei Jahre gewachsen. Angefangen hat es mit einem ausgemusterten Bürorechner und Proxmox 7. Heute stehen drei Knoten in einem kleinen 12-HE-Rack im Keller, hinter einem eigenen UniFi-Setup und einer pfSense.

Herausforderung

Was wirklich auf dem Tisch lag.

Ein Homelab ist schnell aufgebaut, aber genauso schnell zur unsichtbaren Kostenstelle und zum Stromfresser geworden. Die echte Herausforderung war, das Ganze so zu betreiben, dass:

  • es einen produktiven Nutzen hat (CI-Runner, Reverse-Proxy, Backup-Server für Kunden) und nicht nur „weil's geht" läuft.
  • der Stromverbrauch im Rahmen bleibt — drei alte Xeon-Server hätten mich monatlich 80 Euro gekostet, das geht so nicht.
  • ich VMs schnell wegwerfen kann, ohne Datenverlust an anderer Stelle.
  • ein Hardware-Ausfall nicht zur Spielverderber-Aktion wird, wenn ich gerade einen Kundentermin habe.
Vorgehen

Wie ich's angegangen bin.

  1. 01

    Drei Knoten, weil zwei nicht reichen und vier zu viel sind

    Drei Knoten geben mir echtes HA-Quorum. Wenn einer neu startet (Update, Hardware-Wechsel), läuft der Rest weiter. Die Knoten sind bewusst nicht identisch — einer mit viel RAM (96 GB) für DB-Tests, einer mit GPU für ML-Spielereien, einer mit Stromsparkern als immer-läuft-Knoten.

  2. 02

    Storage als Ceph-Cluster, weil NFS auf Dauer nervt

    Auf jedem Knoten zwei NVMe-Disks im Ceph-Pool. Live-Migration von VMs zwischen Knoten dauert wenige Sekunden. Snapshots sind günstig, weil Copy-on-Write. Backup-Repos liegen separat auf zwei großen HDDs — die Trennung ist wichtig, sonst betrifft ein Ceph-Crash auch die Backups.

  3. 03

    Drei Klassen von VMs sauber getrennt

    Lab-VMs sind wegwerfbar, alles automatisiert per Cloud-Init aufgebaut. Service-VMs hosten Dauerläufer wie Gitea, Drone-CI, ein Vaultwarden für meine Passwörter. Kunden-VMs laufen auf einem getrennten Subnet hinter eigener Firewall — falls ich bei einem Kunden temporär eine Testumgebung brauche, bekommt er da Zugriff per WireGuard.

  4. 04

    Continuous Integration ohne fremde Cloud

    Alle meine Repos bauen auf einem Drone-CI, das in einer VM hier läuft. Self-hosted Runner für GitHub Actions sind ebenfalls als LXC-Container vorhanden. Vorteil: privates Build-Geheimnis bleibt privat, und die Build-Zeit ist deutlich kürzer als auf den geteilten Cloud-Runnern.

  5. 05

    Backups nach 3-2-1, verschlüsselt mit Restic

    Daten liegen auf Ceph (1). Stündliche Snapshots auf einem zweiten Storage-Knoten (2). Tägliche, mit Schlüssel verschlüsselte Restic-Repos auf einem rsync.net-Account (3, off-site). Kosten pro Monat: weniger als ein Mittagessen. Wiederherstellung getestet — quartalsweise, nicht „theoretisch".

  6. 06

    Monitoring nicht aus Spaß, sondern als Frühwarnsystem

    Prometheus auf einem Knoten, Grafana-Dashboards für CPU, RAM, Disk-Wear, SMART-Werte, Netzwerk, Stromverbrauch (über die UniFi-PDU). Ein einzelnes ausfallendes Disk-LED hätte ich vermutlich nicht bemerkt — der „SSD wear > 80 %"-Alert via Telegram hingegen schon.

Ergebnis

Was am Ende rauskam.

Das Lab spart mir messbar Zeit. Wenn ein Kunde fragt „kannst du mir mal zeigen, wie diese Migration auf MariaDB 11 ablaufen würde?", brauche ich keine Stunde Setup, sondern starte eine VM mit dem produktiven Snapshot, fahr die Migration durch, dokumentiere die Stolpersteine und lege ein PDF auf den Tisch. Das war mit Cloud-VMs vorher zwei bis drei mal so aufwändig.

Außerdem ist das Lab mein Backup-Repository für ausgewählte Kundenprojekte (mit deren Einverständnis und Verschlüsselung). Ein Kunde hatte 2023 einen Ransomware-Vorfall — drei Stunden später lief er aus dem hier liegenden Restic-Repo wieder. Das war kein Glück, sondern Vorbereitung.

15 VMs
+ 22 LXC-Container im Dauerbetrieb
3-2-1
Backup-Strategie, quartalsweise getestet
< 90 W
Idle-Stromverbrauch des Clusters
24/7
Verfügbarkeit über drei Jahre, 99,8 %
Stack im Detail

Womit's gebaut wurde.

  • Proxmox VE 8 mit drei Knoten und gemeinsamem Ceph-Pool, Live-Migration aktiv.
  • Docker Compose für die meisten Service-Stacks (Gitea, Drone, Vaultwarden, Linkwarden, Paperless-NGX, Uptime Kuma).
  • Restic mit täglicher Snapshot-Routine und Retention-Policy nach keep-daily 7 keep-weekly 4 keep-monthly 12.
  • Prometheus + Grafana als Monitoring-Stack, Alertmanager mit Telegram-Webhook für kritische Trigger.
  • WireGuard mit Split-Tunneling — Kunden-VPNs werden konfiguriert, wenn nötig, und sauber wieder entfernt.
  • UniFi-Anbindung mit dediziertem VLAN für das Lab, getrennt vom restlichen Hausnetzwerk.
Lessons learned

Was ich daraus mitnehme.

Ein eigenes Lab ist keine Pflicht für Freelancer, aber es ist ein erstaunlicher Vorteil: man kann Probleme nachstellen, statt sie nur theoretisch zu beraten. Und es hält einen technisch wach — Updates, Hardware-Schwächen, neue Dateisysteme. Das ist nicht abrechenbar, sondern Investition.

Wenn du im eigenen Betrieb über ein eigenes Mini-Setup nachdenkst (Self-Hosted Gitea, eigenes Backup, ein Nextcloud-Server fürs Team) — bring den Strom-Plan und einen groben Zweck mit, dann lässt sich daraus ohne Übertreibung was Stabiles bauen.

Ähnliches Projekt im Kopf?

Lass uns zwanzig Minuten drüber reden.

Du erklärst, was du brauchst — ich melde mich mit einer ehrlichen Einschätzung. Kein Pitch, kein Ticket-System.

Projekt anfragen Alle Projekte