Caddy - automatisches HTTPS ohne Konfigurationsaufwand
Caddy
Automatischer HTTPS-Reverse-Proxy und Webserver mit eingebautem Let's-Encrypt-Support.
Was ist Caddy?
Caddy ist ein moderner Webserver, der TLS-Zertifikate vollautomatisch über Let's Encrypt oder ZeroSSL ausstellt und erneuert — ohne manuelle Konfiguration. Er eignet sich hervorragend als Reverse Proxy vor anderen Diensten und ersetzt klassische Setups mit nginx + Certbot durch eine einzige, deutlich schlankere Lösung. Die Konfiguration erfolgt über ein lesbares Caddyfile. Caddy ist in Go geschrieben und produziert keine externen Abhängigkeiten.
Voraussetzungen
- Docker 20.10+ / Docker Compose
- Ports 80 und 443 am Host erreichbar
- Eine öffentlich erreichbare Domain (für automatisches HTTPS)
Compose-Beispiel
services:
caddy:
image: caddy:latest
container_name: caddy
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- caddy_data:/data
- caddy_config:/config
volumes:
caddy_data:
caddy_config:
Beispiel Caddyfile:
example.com {
reverse_proxy app:3000
}
Hinweise
- Das Volume
caddy_dataenthält die ausgestellten Zertifikate — unbedingt persistieren, sonst läuft man in Rate-Limits bei Let's Encrypt. - Für lokale Entwicklung funktioniert Caddy mit selbstsignierten Zertifikaten via
tls internal. - Mehrere Domains lassen sich einfach als separate Blöcke im Caddyfile definieren.
- Caddy unterstützt HTTP/2 und HTTP/3 (QUIC) out-of-the-box ohne zusätzliche Konfiguration.