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

  1. Cloudflare DNSÖffentliche Namen. Der Cluster schreibt seine Einträge selbst.
  2. FirewallEin Port offen für ein Land. Alles andere ist zu.
  3. WireGuardDer einzige Weg von aussen zur Admin-Seite.
05

Anwendungen

Was die Familie täglich nutzt

  • 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

GitOps und die Basisdienste

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

Vier Talos-Nodes, kein SSH

  • 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-VMs und Container

  • 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, NVMe und eine GPU in einer Kiste

  • 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.

← Zurück zur Story