ADR-002: Traefik als Reverse Proxy¶
| Feld | Wert |
|---|---|
| Status | accepted |
| Datum | 2026-03-20 |
| Betrifft | homeserver, homelab-external, novabrands |
Kontext¶
Alle drei Server-Projekte stellen mehrere Web-Services unter eigenen
Subdomains bereit (*.home.robinwerner.net, *.homelab-external.robinwerner.net,
*.novabrands.org). Es wird ein Reverse Proxy benoetigt, der:
- Automatische TLS-Zertifikate via Let's Encrypt ausstellt
- Sich nahtlos in Docker Compose integriert
- Routing-Konfiguration moeglichst nah am Service definiert wird
- Mehrere Domains und Wildcard-Zertifikate unterstuetzt
Entscheidung¶
Traefik v3 wird als Reverse Proxy auf allen Servern eingesetzt. Die
Routing-Konfiguration erfolgt ueber Docker Labels direkt in der
docker-compose.yml jedes Services. TLS-Zertifikate werden automatisch
ueber Let's Encrypt (DNS-Challenge via Cloudflare) bezogen.
Alternativen¶
| Option | Ergebnis |
|---|---|
| Nginx Proxy Manager | GUI-basiert, keine Infrastructure-as-Code-Integration. Konfiguration lebt ausserhalb der Compose-Files, erschwert Nachvollziehbarkeit und Versionierung. |
| Caddy | Guter Auto-TLS-Support, aber Docker-Integration weniger ausgereift als Traefik. Kein Label-basiertes Routing nativ. |
| HAProxy | Sehr performant, aber keine automatische TLS-Verwaltung, deutlich mehr manuelle Konfiguration noetig. |
Konsequenzen¶
Positiv:
- Native Docker-Integration — Traefik erkennt neue Container automatisch
- Label-basierte Konfiguration haelt Routing-Regeln direkt beim Service
- Automatische TLS-Zertifikatsverwaltung ohne Cronjobs
- Dashboard fuer Debugging und Uebersicht
- Middleware-Chain (Rate Limiting, Headers, Auth) deklarativ konfigurierbar
Negativ:
- Traefik-spezifische Label-Syntax muss erlernt werden
- Debugging bei Routing-Problemen erfordert Verstaendnis der Provider-Logik
- Konfigurationsfehler in Labels werden erst zur Laufzeit sichtbar