64 — Caddy Reverse Proxy
Stand: 2026-04-01
Uebersicht
Caddy laeuft als Docker-Container auf dem VPS und dient als HTTPS Reverse Proxy fuer alle externen Dienste. TLS-Zertifikate werden automatisch ueber Let's Encrypt bezogen und erneuert.
- Container: caddy (Ports 80 + 443)
- Config:
/data/docker/monitoring/caddy/Caddyfile - Zertifikate: Automatisch via ACME (Let's Encrypt), gespeichert im Container-Volume
- DynDNS: A+AAAA Records auf VPS-IP 178.104.125.96 (ddclient auf Pi5 deaktiviert)
Externe Domains
| Domain | Backend | Auth | Beschreibung |
|---|---|---|---|
| anknorr.ddnss.de | grafana:3000 | Grafana-Login | Monitoring-Dashboard |
| anknorr.ddnss.de/prometheus/* | prometheus:9090 | Basic Auth (ak) | Prometheus Web-UI |
| anknorr.ddnss.de/ntfy/* | ntfy:80 | Basic Auth (ak) | Push-Benachrichtigungen |
| anknorr.ddnss.de/alertmanager/* | alertmanager:9093 | Basic Auth (ak) | Alert-Verwaltung |
| anknorr.ddnss.de/static/* | /srv/static | Keine | Statische Dateien |
| gatus-anknorr.ddnss.de | gatus:8080 | Keine | Status-Seite |
| gitea-anknorr.ddnss.de | gitea:3000 | Gitea-Login | Git-Server |
| hp-anknorr.ddnss.de | homepage:3000 | Basic Auth (ak) | Dashboard/Homepage |
| archiv-anknorr.ddnss.de | nextcloud:80 | Nextcloud-Login | Archiv (Nextcloud) |
Basic Auth
Alle Basic-Auth-geschuetzten Pfade verwenden denselben Benutzer:
| User | Passwort-Hash |
|---|---|
| ak | bcrypt ($2a$14$UPzDV...) |
Passwort aendern:
docker exec caddy caddy hash-password --plaintext 'neues-passwort'
# Hash in Caddyfile ersetzen, dann:
docker compose restart caddy
TLS-Zertifikate
- Automatisch ueber Let's Encrypt (ACME HTTP-01 Challenge)
- Erneuerung: Caddy erneuert Zertifikate automatisch ~30 Tage vor Ablauf
- Kein manueller Eingriff noetig
- Bei Problemen:
docker compose logs caddy | grep -i cert
Wartung
# Konfiguration pruefen
docker compose exec caddy caddy validate --config /etc/caddy/Caddyfile
# Reload ohne Neustart
docker compose exec caddy caddy reload --config /etc/caddy/Caddyfile
# Logs
docker compose logs -f caddy
Neue Domain hinzufuegen
- DNS: A+AAAA Record auf 178.104.125.96 setzen
- Caddyfile ergaenzen (Block mit Domain + reverse_proxy)
docker compose restart caddy- Caddy holt automatisch ein Zertifikat
Erstellt: 01.04.2026 | Quelle: /data/docker/monitoring/caddy/Caddyfile