Declaratieve Infrastructuur & Betrouwbare Self-Hosting
Wat begon op een enkele oude laptop met Proxmox VE, is uitgegroeid tot een robuust, reproduceerbaar homelab-cluster over meerdere nodes. In plaats van te vertrouwen op kwetsbare handmatige configuraties, notities of statische back-up images, is deze infrastructuur ontworpen rondom één kernprincipe: elke server, container en configuratie moet 100% reproduceerbaar zijn vanuit Git.
Door NixOS en Proxmox te combineren met een dedicated OPNsense router, functioneert het volledige homelab als een moderne cloud-omgeving—declaratief, geïsoleerd en binnen enkele minuten vanaf nul herstelbaar.
Architecturale Uitdagingen & Declaratieve Oplossingen
1. Het Geen-Back-ups Dilemma: Declaratieve GitOps met NixOS
- Het Probleem: Zonder een enterprise NAS of externe back-upserver waren traditionele virtuele-machineback-ups een onpraktische luxe. Een defecte schijf of een mislukte configuratie-update zou urenlang handmatig herstelwerk betekenen.
- De Oplossing: Volledig declaratieve GitOps met behulp van Nix Flakes, Disko en sops-nix. De volledige systeemstatus, pakketten, firewallregels en containerdefinities worden centraal beheerd in een Git-repository en zijn eenvoudig te delen tussen systemen.
- Onmiddellijk Herstel: Schijfindelingen en bestandssystemen zijn als code
vastgelegd via Disko. Gevoelige gegevens en geheimen zijn versleuteld met
Age-sleutels en veilig opgeslagen in Git. Mocht een node hardwarematig falen,
dan volstaat een enkel
nixos-anywherecommando om een identieke vervanger op te zetten.
2. Hardware-evolutie: ThinkCentres, Batterijloze Laptop & 3-Node Quorum
- Het Probleem: Consumentenlaptops zijn prima servers om mee te beginnen, maar hun firmware mist essentiële serverfunctionaliteiten—met name de optie om automatisch weer in te schakelen na stroomuitval (“Power On After AC Loss”). Bovendien vormt een verouderde laptopbatterij die 24/7 aan de netstroom hangt een reëel risico op opzwellen en brandgevaar.
- De Oplossing: De primaire rekentaken werden overgeheveld naar compacte Lenovo ThinkCentre mini-pc’s met hardwarematige herstart bij stroomherstel, die de kern van het rekenwerk vormen.
- Laptop Zonder Batterij als 3e Quorum-node & Router: Een oudere Dell laptop werd hergebruikt, waarbij de batterij fysiek werd verwijderd om brandgevaar uit te sluiten. In plaats van een losse router draait de laptop nu Proxmox VE als volwaardige derde fysieke cluster-node. Deze levert de essentiële oneven stem voor Corosync quorum, wat split-brain situaties tussen de ThinkCentres voorkomt. Binnen deze node draait OPNsense gevirtualiseerd in een dedicated VM voor geïsoleerde routing en firewalling. Het was bovendien een laptop die “Power On After AC Loss” ondersteunt, ideaal voor een router.
3. Beveiliging & Schadebeperking: Netwerkisolatie & Geen Open Poorten
- Het Probleem: Het hosten van publiek toegankelijke applicaties (zoals GoStrategy en World Wide Bulb) naast interne experimentservices brengt risico’s met zich mee wanneer het netwerk niet gescheiden is van privéapparaten.
- De Oplossing: Fysieke en logische netwerksegmentatie via OPNsense. Het
volledige homelab draait in een afgezonderd subnet (
192.168.10.0/24), gescheiden van mijn thuisnetwerk. - Zero-Trust Toegang: Er worden geen routerpoorten doorgestuurd naar het
publieke internet:
- Publieke Ingress: Verkeer voor publieke diensten loopt veilig via Nginx edge gateways en versleutelde Cloudflare Tunnels.
- Beheer op Afstand: Administratieve dashboards en interne nodes zijn uitsluitend bereikbaar via een versleutelde Tailscale mesh subnet router, voor veilige toegang op WireGuard-snelheid vanaf elke locatie.
4. Werkloaddichtheid & Het Fortnite Ecosysteem
Om rekenkracht en geheugen optimaal te benutten, zijn workloads verdeeld tussen extreem lichte NixOS LXC-containers (voor microservices en daemons) en volledige KVM Virtual Machines (voor productie-isolatie en niet-Linux systemen).
Alle servers zijn vernoemd naar Fortnite POI’s, gestructureerd in functionele clusters:
- Basis Infrasctructuur & DNS (
adguard-home): Redundante AdGuard Home instanties die zorgen voor lokale split-horizon DNS-resolutie, malwarefiltering en advertentieblokkering. - Edge Ingress (
battle-bus): Reverse proxy gateway die Nginx beheert en inkomend verkeer doorstuurt via versleutelde Cloudflare Tunnels. - Monitoring & Observability (
lonely-lodge&lobby): Gecentraliseerde telemetriestack met Dockerized Grafana, Loki, Promtail en Prometheus, gecombineerd met een Homepage dashboard en geautomatiseerde statuscontroles via Gatus enntfy. - Interne Logistiek & Media (
greasy-grove&risky-reels): Voorraadbeheer en keukenlogistiek via KitchenOwl en Homebox, plus mediastreaming met Jellyfin. - Applicatie-omgevingen (
retail-row&salty-springs): Dedicated productie- en staging-omgevingen voor full-stack applicaties die draaien in Docker containers.
Operationele Automatisering met Just
Het dagelijks onderhoud is geautomatiseerd met een centrale justfile. Updates
uitrollen over het hele serverpark, specifieke LXC-containers opnieuw bouwen of
geheimen controleren gebeurt met één commando:
# Alle homelab servers parallel opnieuw bouwen
just rebuild-all --parallel
# Versleuteling van Age-geheimen controleren
just check-secrets 