Python
Homelab-Infrastruktur
Über dieses Projekt
English · Deutsch
Ein produktionsnahes Homelab über drei Knoten an zwei Standorten — ein Cloud-VPS als öffentliches Edge, ein leistungsstarker Bare-Metal-Heimserver und ein kleiner Einplatinenrechner an einem entfernten Standort. Alle drei sind über Tailscale zu einem privaten Netzwerk verbunden und werden von einer selbst gehosteten Coolify-Steuerungsebene orchestriert. Die gesamte Umgebung ist als Code definiert und lässt sich mit einem einzigen Schlüssel komplett neu aufbauen.
Was es zeigt
- Infrastructure as Code, durchgängig — Terraform verwaltet die Cloud-Ebene (Compute, Firewalls, DNS); Ansible-Rollen konfigurieren die Host-Ebene (Benutzer, Container-Runtime, Netzwerk, Speicher) auf jedem Knoten.
- Reproduzierbare Notfallwiederherstellung — ein dokumentierter, geschichteter Wiederaufbau: Cloud → Hosts → Orchestrator → Anwendungen, persistente Daten werden wieder eingebunden, nicht verschoben.
- Secrets richtig gemacht — jede Zugangsdaten ist mit SOPS + age verschlüsselt; verschlüsseltes Material liegt in der Versionsverwaltung, der private Schlüssel nie.
- Zero-Trust-Networking — ein Tailscale-WireGuard-Mesh hält die Angriffsfläche minimal; nur wenige Ports sind öffentlich, abgesichert durch eine als Code verwaltete Cloud-Firewall.
- Self-Hosting mit Breite — Dateisynchronisation, Fotoverwaltung, Hausautomation, DNS-/Werbefilter, Dashboards und lokale KI, alle über eine einzige GitOps-artige Steuerungsebene ausgerollt.
- Observability — Metrik-Erfassung und Dashboards über alle Knoten.
Stack
Terraform · Ansible · Docker · Coolify · Tailscale · Prometheus ·
Grafana · Home Assistant · SOPS + age · Linux
Repository-Aufbau
├── terraform/ # Cloud-Ebene — wiederverwendbare Module + Produktionsumgebung
├── ansible/ # Host-Ebene — Rollen, Inventar, Playbooks (+ verschl. Vault)
├── inventory/ # deklarative Quelle der Wahrheit für Hardware, Netz, Systeme
├── services/ # Konfiguration für selbst gehostete Dashboards & Monitoring
├── home-assistant/# Hausautomations-Konfiguration
└── docs/ # Architektur, Runbooks und Design-Notizen
Engineering-Prinzipien
- Deklarativ statt manuell — die laufende Infrastruktur wird gegen Code abgeglichen; das Terraform wurde durch Import echter Ressourcen und einen Plan ohne Änderungen verifiziert.
- Minimale Exponierung — Secrets verschlüsselt, Netzwerk gemesht, öffentliche Fläche minimal.
- Wiederherstellbar by Design — geht ein Knoten verloren, kommt er aus Code zurück.
Privates Projekt. Der Quellcode bleibt privat; diese Seite ist eine Portfolio-Präsentation der Architektur und des Engineering-Ansatzes.