Adrian RomoAdrian Romo
Alle Texte
Projekt-Log 1 Min. Lesezeit

Homelab-Notizen: Dienste hinter Traefik betreiben

Mein aktuelles Homelab-Setup, warum ich von nginx-proxy gewechselt habe und was dabei kaputtgegangen ist.

Habe das Wochenende damit verbracht, meinen Homelab-Reverse-Proxy von nginx-proxy auf Traefik v3 zu migrieren. Hier ist, was ich am Ende hatte.

Der Stack

  • Mini-PC, Debian 12, Docker Compose
  • Traefik v3 als den einzigen Einstiegspunkt auf 80/443
  • Cloudflare-Origin-Zertifikate für öffentliche Dienste
  • Step-CA für interne *.lab-Zertifikate
  • ~18 Dienste, von Home Assistant bis zu einem selbstgehosteten Postgres

Warum ich gewechselt bin

nginx-proxy war in Ordnung, bis ich pro Dienst Middleware (Ratenbegrenzung, Auth-Weiterleitung, Kompression) wollte. Das Hinzufügen zu nginx-proxy bedeutet Templating; Traefik behandelt Middleware als erstklassige Labels.

Das Compose-Muster, auf das ich mich geeinigt habe

services:
  paperless:
    image: ghcr.io/paperless-ngx/paperless-ngx
    labels:
      - traefik.enable=true
      - traefik.http.routers.paperless.rule=Host(\`paperless.lab\`)
      - traefik.http.routers.paperless.entrypoints=websecure
      - traefik.http.routers.paperless.tls=true
      - traefik.http.routers.paperless.middlewares=forward-auth@file
      - traefik.http.services.paperless.loadbalancer.server.port=8000
    networks: [edge]
yaml

Jeder Dienst erhält diese sechs Labels. Middleware-Ketten leben in einer gemeinsamen dynamic.yml.

Was kaputt ging

  • Websockets benötigten explizit passHostHeader=true am Router.
  • Ein Dienst lieferte einen Healthcheck, der 301 zurückgab. Traefik markierte ihn als ungesund. Habe --providers.docker.useBindPortIP=false hinzugefügt und den Dienstport überschrieben.
  • Cloudflare-Tunnel + Traefik ist eine Fußangel: doppelte TLS-Terminierung funktioniert, aber du möchtest insecureSkipVerify beim internen Hop aus.

Nächste Schritte

Authentik als den Forward-Auth-Anbieter für alles Interne einbinden. Die letzte unverschlüsselte Basic-Auth-Konfiguration abschalten.

Weiter geht's

Wohin als Nächstes?

Stöbere durch weitere technische Texte, sieh dir die Engineering Case Studies an oder melde dich direkt.