Zum Inhalt springen

Caddy und TLS

Aus Kertz Wiki

Caddy ist der Reverse-Proxy vor allen Web-Diensten. Er terminiert TLS (HTTPS) und leitet pro Domain an den jeweiligen Container weiter. Stack: /volume2/docker/caddy_latest, Container caddy-1, Config /volume2/docker/caddy_latest/Caddyfile.

Domains → Upstreams[Bearbeiten]

Domain Ziel (192.168.1.50:Port) Dienst
bw.kertz.ch 44961 Vaultwarden
wiki.kertz.ch 8090 MediaWiki
bcl-rivers.ch / app.bcl-rivers.ch 8080 BCL Rivers Website
clubix.ch / *.clubix.ch 9000 Clubix
mail.clubix.ch / mail.kertz.ch 8280 Mailserver (Webmail)

TLS-Zertifikate[Bearbeiten]

Zertifikate werden automatisch per Let's Encrypt geholt. Weil die Domains hinter Cloudflare liegen, wird die DNS-01-Challenge (Cloudflare-API) genutzt – HTTP-01/TLS-ALPN scheitern am Cloudflare-Proxy. Jeder Domain-Block braucht daher:

tls {
    dns cloudflare {env.CLOUDFLARE_API_TOKEN}
}

Das Cloudflare-Token liegt als Umgebungsvariable im Caddy-Container (nicht im Wiki). Zertifikate werden gespeichert unter /volume2/docker/caddy_latest/data/caddy/certificates/.

Wichtig: Änderungen übernehmen[Bearbeiten]

Siehe Anleitung Caddy ändern – nach jeder Caddyfile-Änderung ist ein Neustart des Containers nötig (nicht nur reload), sonst greift die Änderung wegen des Single-File-Mounts nicht.