stacks:traefik
Inhaltsverzeichnis
Traefik Stack (Docker)
Verzeichnisstruktur
traefik/ ├─ config/ │ ├─ traefik.yml │ └─ dynamic/ │ ├─ security.yml │ ├─ tcp.yml │ ├─ mail.yml │ └─ prometheus.yml ├─ letsencrypt/ │ ├─ acme.json │ └─ clean.sh ├─ data/ │ ├─ prometheus/ │ └─ grafana/ ├─ errorpage/ │ ├─ index.html │ ├─ test.html │ └─ nginx.conf └─ docker-compose.yml
docker-compose.yml – Aufbau
Die docker-compose.yml definiert folgende Services:
1) Traefik (Reverse Proxy)
- Image:
traefik:v3.5.0-rc2 - Ports: 80 (HTTP), 443 (HTTPS), 25 / 587 / 993 (Mail/TCP)
- Volumes:
/var/run/docker.sock:/var/run/docker.sock:ro./config/traefik.yml:/etc/traefik/traefik.yml:ro./config/dynamic/:/etc/traefik/dynamic/:ro./letsencrypt:/letsencrypt
- Labels (Auszug):
- Dashboard ĂĽber
traefik.nctl.de(Serviceapi@internal) - BasicAuth:
traefik-auth - Redirect HTTP→HTTPS:
mw-redirect-to-https@file - Security-Chain:
global-secure-chain@file
- Netzwerke:
ldap-net,docker_backend
2) Certs-Dumper
- Image:
ldez/traefik-certs-dumper:v2.9.3 - Liest
letsencrypt/acme.jsonund schreibt extrahierte Zertifikate nach./certs(Watch-Mode)
3) Prometheus
- Image:
prom/prometheus:latest - Ports: extern 9091 → intern 9090
- Volumes:
config/prometheus,data/prometheus - Traefik:
https://prometheus.nctl.de(TLS viadnsresolver, HTTP→HTTPS aktiv)
4) Grafana
- Image:
grafana/grafana:latest - Port: 3000
- Volume:
data/grafana - Env:
GFSECURITYADMINUSER,,GFSECURITYADMINPASSWORDGFSERVERROOT_URL
5) Errorpage
- Image:
nginx:alpine - Volumes:
errorpage/(HTML),errorpage/nginx.conf - Liefert benutzerdefinierte Fehlerseiten fĂĽr 4xx/5xx
Netzwerke
- ldap-net → Bridge für LDAP-Bezug
- docker_backend → Zentrales Backend-Netz (extern vorhanden)
- proxy → optional/external (nur falls von anderen Stacks genutzt)
Sicherheit
- Zertifikate: Let's Encrypt (DNS-Challenge via IONOS), persistent in
letsencrypt/acme.json - Middlewares:
traefik-auth(BasicAuth fĂĽrs Dashboard)mw-redirect-to-https@fileglobal-secure-chain@file(Header/Rates)
Monitoring
- Prometheus sammelt Metriken (Traefik-/System-Dashboards möglich)
- Grafana visualisiert (Subdomain:
grafana.nctl.de)
Zugriff
- Traefik Dashboard:
https://traefik.nctl.de - Prometheus:
https://prometheus.nctl.de - Grafana:
https://grafana.nctl.de
ASCII-NetzwerkĂĽbersicht (a2s)
stacks/traefik.txt · Zuletzt geändert: von lars