--- title: Traefik created: 2026-10-20 status: aktiv tags: - projekt --- # Traefik > [!abstract] Översikt > Traefik v3 är reverse proxy för allt på `zeuz`. Den tar emot trafik från Cloudflare, ordnar certifikat och skickar vidare till Docker-containrar eller andra maskiner i nätet. Se även [[Docker-stack]]. ## Layout ``` Cloudflare → :443 (web-secure) → router (Host-regel) → middlewares → service ``` | Fil | Innehåll | Ändring kräver | | --- | --- | --- | | `~/repo/Docker/traefik.yml` | Statisk konfig: entrypoints, cert-resolvers, providers, loggning | Omstart av Traefik | | `~/repo/Docker/traefik/` | Dynamisk konfig: middlewares, kedjor, TLS, fil-routes | Inget, läses in live | | Docker-labels i compose | Routes för containrar | `docker compose up -d ` | | `/opt/docker_data/traefik/log/` | `info.log` och `access.log` | – | **Två sätt att skapa en route:** - **Docker-container** → labels på tjänsten (se [[Docker-stack#Lägga till en ny tjänst]]). - **Något som inte är en container** (annan maskin, Bitwarden) → router + service i `traefik/static_config.yml`. **Certifikat:** - `milvert_dns` – Let's Encrypt via Cloudflare-DNS. Används för `*.milvert.com`. Tar ett par minuter för ett nytt namn. - `peek` – HTTP-utmaning, för peekskog.se. **Entrypoints:** `web` (80) och `web-secure` (443) för webben. Övriga (8086, 8883 m.fl.) är för InfluxDB och MQTT. ## Middlewares Använd en färdig kedja (`traefik/middleware-chains.yml`) i stället för enskilda middlewares: | Kedja | När | | --- | --- | | `chain-authelia` | Admin-gränssnitt utan egen bra inloggning | | `chain-no-auth` | Tjänster med egen inloggning | | `chain-local` | Bara från hemnätet | | ingen | När kedjorna bryter något, t.ex. CORS eller rate limit (CouchDB) | Nya middlewares läggs i `traefik/middleware.yml` och kombineras till kedjor i `middleware-chains.yml`. ## Lägga till en route till en annan maskin I `traefik/static_config.yml`, under `http:`: ```yaml routers: minsak-router: rule: "Host(`minsak.milvert.com`)" service: minsak-service middlewares: - chain-authelia entryPoints: - web-secure tls: certResolver: milvert_dns services: minsak-service: loadBalancer: servers: - url: "http://10.0.0.x:8080" ``` Sparar du filen läser Traefik in ändringen direkt. Ingen omstart behövs. ## Felsökning - **Logg:** `docker exec traefik tail -f /log/info.log` - **Cloudflare 525:** Traefik har inget certifikat för namnet än. Vänta några minuter. - **`unrecognized name` vid test lokalt:** samma sak. `sniStrict` gör att Traefik vägrar namn som saknar certifikat. - **Testa förbi Cloudflare:** `curl --resolve minsak.milvert.com:443:127.0.0.1 https://minsak.milvert.com/`