Files
Pangolin/config/traefik/dynamic_config.yml
Lutz Finsterle 144347b0bf Stack unter Versionskontrolle genommen
Das Repo war angelegt und hatte sogar schon ein Remote, aber keinen einzigen
Commit - die Konfiguration lag faktisch nur auf der Platte. Vor dem Sprung
1.21.1 -> 1.25.1 (vier Minor-Versionen, gerbil muss mitziehen) ist genau das
der fehlende Rueckweg.

config/config.yml bleibt draussen, weil dort server.secret steht. Statt dessen
liegt config/config.yml.example im Repo, in dem genau dieses Feld redigiert
ist - dasselbe Verfahren wie bei TraefikConfig/crowdsec.yml.example. Ebenfalls
draussen: config/key, config/db/ (SQLite mit Nutzern), config/letsencrypt/
(acme.json mit Account-Key und allen Zertifikatsschluesseln), Protokolle
und .env.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-10-22 13:56:44 +02:00

75 lines
1.5 KiB
YAML

http:
middlewares:
badger:
plugin:
badger:
disableForwardAuth: true
redirect-to-https:
redirectScheme:
scheme: https
port: "8443" # must match HTTPS_PORT in .env
routers:
# HTTP → HTTPS redirect for dashboard
main-app-router-redirect:
rule: "Host(`pango.famfi.dyndns.org`)"
service: next-service
entryPoints:
- web
middlewares:
- redirect-to-https
- badger
# Frontend (Next.js dashboard)
next-router:
rule: "Host(`pango.famfi.dyndns.org`) && !PathPrefix(`/api/v1`)"
service: next-service
entryPoints:
- websecure
middlewares:
- badger
tls:
certResolver: letsencrypt
# API
api-router:
rule: "Host(`pango.famfi.dyndns.org`) && PathPrefix(`/api/v1`)"
service: api-service
entryPoints:
- websecure
middlewares:
- badger
tls:
certResolver: letsencrypt
# WebSocket
ws-router:
rule: "Host(`pango.famfi.dyndns.org`)"
service: api-service
entryPoints:
- websecure
middlewares:
- badger
tls:
certResolver: letsencrypt
services:
next-service:
loadBalancer:
servers:
- url: "http://pangolin:3002"
api-service:
loadBalancer:
servers:
- url: "http://pangolin:3000"
tcp:
serversTransports:
pp-transport-v1:
proxyProtocol:
version: 1
pp-transport-v2:
proxyProtocol:
version: 2