Traefik: Der Reverse Proxy der sich selbst konfiguriert
Traefik erkennt neue Docker Container automatisch und routet Traffic dorthin – kein manuelles Nginx-Config-Editieren mehr. Inklusive automatischer TLS-Zertifikate via Let's Encrypt. Der Standardweg für Docker-Server-Setups.
Neuen Container mit den passenden Labels starten – Traefik erkennt ihn sofort, holt ein TLS-Zertifikat und routet Traffic. Kein Reload, kein Neustart.
Middleware: Auth, Rate Limiting und HTTP-Redirects
Traefik-Middleware fügt Funktionalität zwischen Eingang und Service ein:
HTTP → HTTPS Redirect: Automatisch alle HTTP-Requests auf HTTPS umleiten – eine Middleware-Regel für alle Services
BasicAuth: Passwortschutz für interne Tools ohne eigene Auth-Logik – Credentials als Labels oder in separater Datei
Rate Limiting: Anfragen pro IP begrenzen – schützt vor Brute-Force und übermäßigem Traffic
IP Allowlist: Services nur für bestimmte IPs zugänglich – für Admin-Interfaces die nie öffentlich sein sollten
Middlewares werden als Kette definiert und können auf mehrere Router angewendet werden – einmal definieren, überall nutzen. Kombiniert mit Reverse Proxy-Grundlagen ist das ein sehr mächtiges Setup.
Traefik Dashboard und Monitoring
Traefik hat ein eingebautes Dashboard das alle Routers, Services und Middlewares visualisiert:
Dashboard unter traefik.deine-domain.de – mit BasicAuth absichern, nie öffentlich ohne Auth
Health Checks: Traefik kann Container-Health überprüfen und unhealthy Container aus dem Routing nehmen
Logs: Access-Logs im JSON-Format, perfekt für Log-Aggregation mit Grafana Loki
Metrics: Prometheus-Endpoint für Monitoring – Request-Rate, Fehlerquoten, Latenz pro Service
Auf einem typischen Self-Hosting-Server läuft Traefik als einziger Container mit gebundenen Ports 80/443 – alle anderen Services kommunizieren ohne direkte Port-Bindings nur über Traefik.
Häufige Fragen zu Traefik
Traefik für Docker-Umgebungen: automatische Service-Discovery, kein Config-Reload. Nginx für statische Setups, komplexe Rewrite-Regeln oder wenn schon vorhanden. Caddy als dritte Option: einfacher als Traefik, mächtiger als Nginx für einfache Setups.
Der Docker Socket ist ein Sicherheitsrisiko – wer ihn hat, hat Root-Zugriff. Lösung: socket-proxy als Middleware (tecnativa/docker-socket-proxy) der nur lesenden Zugriff erlaubt. Traefik bekommt nur Verbindung zum Proxy, nicht direkt zum Socket.
Rate Limits bei Let's Encrypt beachten (5 Zertifikate pro Domain pro Woche). Zuerst mit staging-Resolver testen. DNS muss korrekt auf die Server-IP zeigen bevor der Challenge startet. Logs in Traefik-Container prüfen: `docker compose logs traefik`.
Mit Health Checks: neuer Container wird erst ins Routing genommen wenn er healthy ist. `docker compose up -d` startet neuen Container bevor alter gestoppt wird (bei Verwendung von `--no-deps`). Für echtes Zero-Downtime braucht man zwei Container gleichzeitig – Traefik balanced automatisch.