ADR-005: Cloudflare Pages + Access fuer Doku-Hosting¶
| Feld | Wert |
|---|---|
| Status | accepted |
| Datum | 2026-03-20 |
| Betrifft | homelab-documentation |
Kontext¶
Die zentrale Dokumentation enthaelt interne Infrastrukturdetails (IP-Adressen, Service-Konfigurationen, Netzwerk-Topologie) und darf nicht oeffentlich zugaenglich sein. Gleichzeitig soll die Doku ohne VPN erreichbar sein — auch von unterwegs oder Mobilgeraeten.
Anforderungen:
- Privater Zugang, kein oeffentliches Hosting
- Erreichbar ohne VPN-Verbindung
- Kein zusaetzlicher Container oder Server zu warten
- PR-basierte Preview-Deployments fuer Reviews
- Cloudflare wird bereits fuer DNS in allen Projekten genutzt
Entscheidung¶
Die statische MkDocs-Site wird auf Cloudflare Pages gehostet. Der Zugangsschutz erfolgt ueber Cloudflare Access Zero Trust mit Email-OTP-Authentifizierung.
Domain: docs.robinwerner.net
Cloudflare Pages baut die Site automatisch bei Push auf main und erstellt
Preview-Deployments fuer Pull Requests. Access schuetzt sowohl die
Produktions- als auch die Preview-URLs.
Alternativen¶
| Option | Ergebnis |
|---|---|
| NUC (Docker) | Nur via VPN oder Tailscale erreichbar, belastet die ohnehin ausgelastete NUC-Hardware mit einem weiteren Container. |
| Hetzner vServer | Zusaetzlicher Container auf dem externen Server, thematisch fehlplatziert (Server ist fuer Headscale und Monitoring). |
| GitHub Pages | Kein privater Zugang moeglich — GitHub Pages sind immer oeffentlich. |
Konsequenzen¶
Positiv:
- Kein Container zu warten — Cloudflare uebernimmt Build und Hosting
- Globales CDN, schnelle Ladezeiten weltweit
- Automatische Preview-Deployments fuer PRs
- Access Free Tier genuegt (50 User, Email-OTP)
- Erweiterbar auf Team/SSO (OIDC/SAML) bei Bedarf
- Cloudflare bereits im Einsatz — kein neuer Anbieter
Negativ:
- Abhaengigkeit von Cloudflare als Single Provider (DNS + Hosting + Auth)
- Access-Konfiguration erfordert Zero Trust Dashboard-Kenntnisse
- Build-Limits im Free Tier (500 Builds/Monat)