Je homelab heeft een voordeur. Als je zoals de meeste zelf-hosters bent, is die voordeur een port forward op je router — en die staat wagenwijd open.
Ik heb weken besteed aan het herbouwen van de mijne. Het resultaat: een productieklare ingress-laag die volledig draait op een ZimaCube 2. Geen open poorten op mijn router. Geen publiekelijk bereikbare origin-servers. End-to-end TLS op elke verbinding. Alles stilletjes naast mijn tv.
Hier is precies hoe ik het heb gebouwd, wat er onderweg misging, en waarom de ZimaCube 2 de perfecte platform voor de klus bleek te zijn.
Het probleem met traditionele homelab ingress
Veel homelabs zien er nog steeds zo uit:
- Poort 443 doorgestuurd op de router → wijst naar een reverse proxy
- Poort 80 doorgestuurd → verwijst naar 443
- Services zijn direct bereikbaar als je het IP-adres weet
- De origin-infrastructuur is één poortscan verwijderd van ontdekking
Dit veroorzaakt echte problemen. Openbare ingress-poorten. Direct bereikbare origin-servers. Beheerdersinterfaces die reageren vóór authenticatie. Zelfs met HTTPS blijft de infrastructuur zichtbaar — en zichtbaarheid nodigt uit tot verkenning.
Ik wilde een heel ander model. Iets dichter bij hoe moderne cloudinfrastructuur ingress afhandelt: alleen uitgaand vertrouwen, geen inkomende blootstelling, en versleutelde tunnels die de oorsprong verbergen.

Waarom de ZimaCube 2
Dit soort architectuur vraagt om een specifieke set hardware-eigenschappen. Niet ruwe kracht — betrouwbaarheid, flexibiliteit en stilte.
De ZimaCube 2 voldeed aan alle eisen:
|
Altijd Aan: Stil 24/7 gebruik. De ingress-laag moet continu draaien — het thermisch ontwerp van de ZC2 zorgt ervoor dat dit gebeurt zonder de kamer te domineren. |
Dubbele 2.5GbE: Eén interface voor het edge-netwerk, één voor intern. Verkeerssegmentatie begint op de fysieke laag, niet alleen in Docker. | Docker Native: NVMe-opslag voor snelle container I/O. Meerdere brugnetwerken verstikken het systeem niet. Het platform is hiervoor gebouwd. |
Op dit moment is de ZimaCube 2 effectief vier dingen in één apparaat geworden: een Docker-host, een reverse proxy-platform, een ingress-laag en een gecentraliseerd infrastructuurapparaat. Voor modern zelf-hosting is die combinatie uiterst praktisch.
De nieuwe architectuur
In plaats van poorten op mijn router te openen, werkt het nieuwe ontwerp zo:
- Cloudflare Tunnel maakt alleen uitgaande versleutelde verbindingen met de Cloudflare-edge
- Nginx Proxy Manager verzorgt routing, SSL-terminatie en ACL’s
- Docker-bridgenetwerken segmenteren edge-verkeer van interne workloads
- Geen inkomende NAT-regels — de router heeft geen idee dat er iets wordt geserveerd
Dit voelde meteen meer als moderne cloud-ingressarchitectuur dan traditionele port-forwarded self-hosting.

Docker-netwerksegmentatie: Edge ≠ Intern
Een van de belangrijkste veranderingen was het scheiden van verkeer met Docker-bridgenetwerken.
docker network create \
--subnet 172.x.x.x/24 \
edge
Het edge-netwerk draagt precies twee containers: Cloudflare Tunnel en Nginx Proxy Manager. Dat is alles. Applicaties draaien op aparte interne Docker-netwerken — volledig geïsoleerd van de ingress-laag.
De ZimaCube 2 verzorgt deze segmentatie netjes. Meerdere brugnetwerken zorgen niet voor prestatieverlies op het platform, en de NVMe-opslag zorgt ervoor dat het opstarten van containers en netwerk-I/O snel blijven, zelfs als de netwerktopologie complexer wordt.
Het TLS-probleem dat me bijna brak
Dit bleek de meest interessante technische les van het hele project te zijn.
De installatie leek in het begin eenvoudig. HTTP tussen Cloudflare Tunnel en Nginx Proxy Manager werkte direct:
http://reverse-proxy → ✅ Werkt
Dus schakelde ik HTTPS in.
https://reverse-proxy → ❌ Fout
Het certificaat was geldig. De vervaldatum was in orde. De vertrouwensketen klopte. Alles leek correct — en toch weigerde HTTPS verbinding te maken.
Het echte probleem was TLS-hostnamevalidatie.
Het certificaat was uitgegeven voor mijn publieke domeinen (example.com, app.example.com). Maar Cloudflare Tunnel maakte intern verbinding met reverse-proxy — een Docker-hostnaam die niet overeenkwam met iets op het certificaat. De mismatch in hostname zorgde ervoor dat TLS-validatie stilzwijgend faalde.
De oplossing: configureer Cloudflare Tunnel met Origin Server Name: example.com terwijl het intern nog steeds naar https://reverse-proxy:443. Dat zorgde voor versleuteld transport, correcte hostname-validatie en volledige TLS-verificatie — zonder beveiligingscontroles uit te schakelen.
Dit is het soort les dat je alleen leert door te bouwen.

ACL’s en de les over infrastructuurverkeerspaden
Een operationele les die ik snel leerde: reverse proxies zien vaak Docker bridge IP’s, tunnel IP’s en interne proxy IP’s in plaats van het oorspronkelijke client-IP.
Ik leerde dit op de harde manier toen ik per ongeluk mezelf buitensloot van Nginx Proxy Manager.
Ik stelde een ACL in om alleen mijn LAN-subnet (192.168.x.x/24) toe te staan. De logica leek logisch — alleen apparaten op mijn thuisnetwerk mochten toegang hebben tot het beheerpaneel.
NPM zag het verkeer eigenlijk vanuit het Docker bridge-netwerk. Niet vanaf mijn LAN. De toegangscontrole blokkeerde alles, inclusief mijzelf.
Het toevoegen van het Docker-subnet aan de toegestane lijst loste het probleem direct op. Maar het was een duidelijke herinnering dat infrastructuurverkeerspaden vaak anders zijn dan we op papier aannemen.
Waarom deze architectuur belangrijk is op de ZimaCube 2
Er is een reden waarom deze stack zo goed werkt op de ZC2 specifiek:
- Dubbele 2.5GbE betekent dat de ingress-laag dedicated bandbreedte heeft — je interne netwerkverkeer concurreert niet met internetgerichte services
- NVMe-opslag zorgt voor snelle container-netwerken — bridge-netwerkdoorvoer wordt niet beperkt door trage schijf-I/O
- Stille altijd-aan werking betekent dat de ingress-laag 24/7 draait in een leefruimte — niet in een kelderrack
- Docker-native platform met genoeg ruimte om de tunnel, reverse proxy, ACL-engine en al je services tegelijk te draaien
- Uitbreidbaarheid betekent dat je later een dedicated NIC of accelerator-kaart kunt toevoegen als je netwerkbehoeften groeien
De ZimaCube 2 host deze services niet alleen. Het is het juiste platform voor hen.
De definitieve stack
Wat er nu draait op de ZimaCube 2:
- Cloudflare Tunnel — alleen uitgaande versleutelde verbindingen, geen open poorten
- Nginx Proxy Manager — reverse proxy, SSL, ACL’s
- Docker bridge-netwerken — gesegmenteerd edge- versus intern verkeer
- End-to-end TLS — versleuteld van client tot origin, nergens platte tekst
- Verborgen origin — er reageert niets op een openbaar IP
Het is nog steeds een homelab. Maar het operationele model lijkt nu veel meer op moderne ingress-engineering dan op traditionele port-forwarded self-hosting.
De grootste ontdekking van dit project: moderne self-hosting vereist steeds vaker dezelfde ingress-, netwerk- en trust-boundary-denkwijze als in productie-infrastructuur. En de hardware moet bijblijven — stil, betrouwbaar, verbonden en altijd aan.

De ZimaCube 2 levert precies dat.
Bouw je eigen zero-trust homelab met ZimaCube 2 →
Veelgestelde vragen
Wat is een Cloudflare Tunnel en waarom zou ik die gebruiken op mijn ZimaCube 2?
Een Cloudflare Tunnel maakt een uitgaande, versleutelde verbinding van je ZimaCube 2 naar het Cloudflare edge-netwerk. In plaats van poorten op je router te openen (waardoor je infrastructuur aan het internet wordt blootgesteld), verloopt al het verkeer via deze versleutelde tunnel. Je origin server — de ZimaCube 2 — blijft volledig verborgen voor het publiek.
Moet ik poorten op mijn router openen voor deze setup?
Nee. Dat is juist het punt. Cloudflare Tunnel maakt alleen uitgaande verbindingen. Je router heeft geen enkele port-forwardregel nodig. Dit elimineert de meest voorkomende aanvalsvector in homelab-netwerken.
Kan de ZimaCube 2 een reverse proxy en al mijn diensten tegelijk draaien?
Ja. Michael ZC2 draait Cloudflare Tunnel, Nginx Proxy Manager en meer dan 10 Docker-containers tegelijkertijd — en dat alles terwijl hij stil en koel blijft. De dubbele 2.5GbE-poorten en NVMe-opslag zorgen ervoor dat netwerk- en container-I/O geen bottlenecks worden.
Waarom is Docker-netwerksegmentatie belangrijk?
Als elke container hetzelfde netwerk deelt, geeft één gecompromitteerde dienst een aanvaller toegang tot alles. Door alleen Cloudflare Tunnel en Nginx Proxy Manager op een "edge"-netwerk te plaatsen (en applicaties op aparte interne netwerken te houden), creëer je een gecontroleerde grens tussen publiek verkeer en je privéservices.
Wat was het probleem met de TLS-hostnaam mismatch?
Toen Cloudflare Tunnel intern verbonden was met Nginx Proxy Manager via een Docker-hostnaam zoals reverse-proxy, kwam het TLS-certificaat — dat was uitgegeven voor een publieke domeinnaam zoals example.com — niet overeen. De oplossing was om Cloudflare Tunnel te configureren met de juiste Origin Server Name terwijl het nog steeds naar de interne Docker-hostnaam werd gerouteerd. Dit behield volledige encryptie zonder validatie uit te schakelen.
Hoe verhoudt de netwerkhardware van de ZimaCube 2 zich tot een standaard NAS voor dit gebruik?
De meeste consumentgerichte NAS-apparaten worden geleverd met een enkele gigabit Ethernet-poort. De ZimaCube 2 heeft dubbele 2.5GbE — wat betekent dat je één interface kunt toewijzen aan edge-verkeer (Cloudflare + reverse proxy) en de andere aan interne diensten. Deze scheiding op het fysieke laagniveau is iets wat je niet kunt bereiken met hardware met één NIC.
Zima Campagnecentrum
Meer om te lezen

Hoe SjslTech ZimaOS test als gebruiksvriendelijk besturingssysteem voor thuisservers
Ontdek hoe ZimaOS de eerste keer opstarten verandert in een praktische privécloud met back-ups van telefoonfoto’s en Jellyfin, terwijl keuzes rond opslag en herstel...

Nationale Voorbereidingsmaand: bouw een offline server met noodinformatie voor je gezin
Bereid de digitale informatie van je gezin voor op storingen en noodsituaties. Leer hoe je een offline informatieserver bouwt voor kaarten, documenten, foto’s, medische...

Internetdag: Zo bouw je je eigen persoonlijke cloud
Vier Internetdag 2026 door je eigen persoonlijke cloud te bouwen voor bestanden, foto’s, back-ups, media en zelfgehoste apps. Leer hoe je hardware kiest, opslag...

