Der ganze Stack
Alles, was läuft. Eine Karte.
52 Komponenten in fünf Schichten auf einem Server, dazu die wenigen Dienste ausser Haus. Die Karte zeigt, was läuft und was jeder Teil tut, nie wo er läuft.
Internet · der Weg hinein
- Cloudflare DNSÖffentliche Namen. Der Cluster schreibt seine Einträge selbst.
- FirewallEin Port offen für ein Land. Alles andere ist zu.
- WireGuardDer einzige Weg von aussen zur Admin-Seite.
05
Anwendungen
- ImmichFamilienfotos und -videos, mit Gesichts- und Objektsuche auf dem Server.
- JellyfinFilme und Serien, transkodiert auf der GPU.
- SeafileDateien, synchron auf allen Geräten.
- Paperless-ngxGescannte Briefe, per OCR gelesen und durchsuchbar.
- ForgejoPrivates Git-Hosting.
- n8nAutomatisierungen zwischen den Diensten.
04
Plattform
Auslieferung
- FluxWendet jede Änderung aus Git an und macht Abweichungen rückgängig.
- RenovateSchlägt jedes Update als Pull Request vor.
- KyvernoWeist Workloads ab, die Regeln brechen: kein Root, fixe Images, Limits gesetzt.
Beobachtung
- PrometheusSammelt Metriken aus jeder Schicht.
- GrafanaDashboards, hinter demselben Login.
- LokiBewahrt die Logs auf.
- AlloySammelt Logs von Pods und Netzwerkgeräten.
- AlertmanagerBündelt Alarme und leitet sie weiter.
- ntfyPush-Nachrichten aufs Handy.
- UnPollerMetriken der Netzwerkgeräte.
Zugang
- Envoy GatewayDie eine Tür hinein: TLS, Routing und Rate Limits.
- AuthentikEin Login mit zweitem Faktor vor jeder App.
- cert-managerHolt und erneuert jedes Zertifikat.
- external-dnsSchreibt den öffentlichen DNS-Eintrag jeder App.
Secrets
- External SecretsHolt Secrets aus dem Tresor. Git enthält nie eines.
Daten und Backups
- CloudNativePGBetreibt Postgres für die Apps, mit laufenden Backups.
- VolSyncNächtliche verschlüsselte Kopien jedes Volumes.
- Restore-TestStellt jede Nacht ein Backup wieder her und prüft das Ergebnis.
Sicherheit
- Trivy OperatorPrüft jedes laufende Image auf bekannte Schwachstellen.
- Status-ExporterSchickt dieser Seite ihren Live-Status, signiert.
03
Cluster
- Talos LinuxUnveränderliches OS für die Nodes: kein SSH, keine Shell, per API konfiguriert.
- KubernetesEin Control-Plane-Node und drei Worker.
- CiliumPod-Netzwerk, Load Balancer und die Firewall zwischen Pods.
- HubbleZeigt live, welcher Pod mit welchem spricht.
- Proxmox CSILegt Disks für Pods direkt auf dem Speicher des Hosts an.
- Intel-GPU-PluginGibt dem Medienserver Zugriff auf die GPU.
02
Virtualisierung
- Proxmox VETeilt den Server in VMs und Container.
- Sidero OmniErstellt und aktualisiert die Talos-Maschinen. Läuft neben dem Cluster, nie darin.
- GarageS3-Speicher für jedes Backup, auf dem gespiegelten Pool.
- SambaNetzlaufwerk für die Computer der Familie.
- NFSMedien erreichen den Cluster nur lesend, über ein Netz, das nur im Server existiert.
- TerraformBeschreibt jede VM und jeden Container.
- AnsibleKonfiguriert den Host und jeden Gast. Ein zweiter Lauf ändert nichts.
01
Hardware
- ZFS-MirrorGespiegelte Disks für alles Unersetzliche. Jeder Block mit Prüfsumme.
- MediendiskEine grosse Disk für Medien, die man neu beschaffen kann. Bewusst ohne Redundanz.
- NVMeSchneller Speicher für Maschinen und Datenbanken.
- Intel Arc GPUAn einen Node durchgereicht, fürs Transcoding.
- HBAGibt die Datendisks direkt an ZFS.