From bf315a3f8769f0d407ab63b1cd26b6f45abd398c Mon Sep 17 00:00:00 2001 From: Simon Milvert Date: Tue, 20 Oct 2026 07:30:01 +0200 Subject: [PATCH] Autocommit 2026-10-20 07:30 --- 10-Projekt/Docker-stack.md | 2 +- 10-Projekt/Traefik.md | 82 ++++++++++++++++++++++++++++++++++++++ Home.md | 2 +- 3 files changed, 84 insertions(+), 2 deletions(-) create mode 100644 10-Projekt/Traefik.md diff --git a/10-Projekt/Docker-stack.md b/10-Projekt/Docker-stack.md index 46d0b5d..973a827 100644 --- a/10-Projekt/Docker-stack.md +++ b/10-Projekt/Docker-stack.md @@ -24,7 +24,7 @@ Internet → Cloudflare → Traefik (80/443) → container på nätverket backen | `~/repo/Docker/secrets/` | Lösenord som filer, en per hemlighet (ej i git) | | `~/repo/Docker//` | Konfigfiler som ska versionshanteras | | `/opt/docker_data//` | Data (`${DIR_LOCAL}`), ej i git | -| `~/repo/Docker/traefik/` | Middlewares och TLS-inställningar | +| `~/repo/Docker/traefik/` | Middlewares och TLS-inställningar, se [[Traefik]] | **Middleware-kedjor** – väljs per tjänst: diff --git a/10-Projekt/Traefik.md b/10-Projekt/Traefik.md new file mode 100644 index 0000000..b2f6f00 --- /dev/null +++ b/10-Projekt/Traefik.md @@ -0,0 +1,82 @@ +--- +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/` diff --git a/Home.md b/Home.md index a2f50c4..794e65e 100644 --- a/Home.md +++ b/Home.md @@ -29,4 +29,4 @@ tags: - [ ] Peka *Settings → Templates → Template folder location* till `90-Mallar` - [ ] Peka *Settings → Daily notes → New file location* till `20-Dagbok` -- [ ] kolla upp https://www.facebook.com/share/p/1FLHDChD4U/ ,hur denna hämtar vk +- [ ] kolla upp https://www.facebook.com/share/p/1FLHDChD4U/ ,hur denna hämtar vklass