feat(traefik): switch ACME to DNS-01 via IONOS (CFGMON-01)
TLS-ALPN-01 needs 80/443 open to the whole internet for renewal, which fails silently behind the user-IP firewall. Switch the letsencrypt resolver to DNS-01 with the IONOS provider (token from host .env, git-ignored) and public resolvers for the propagation check. acme.json is preserved; existing certs renew via DNS-01 before 2026-10-28. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+9
-1
@@ -20,7 +20,11 @@ services:
|
|||||||
- "--providers.docker.exposedbydefault=false"
|
- "--providers.docker.exposedbydefault=false"
|
||||||
- "--entrypoints.web.address=:80"
|
- "--entrypoints.web.address=:80"
|
||||||
- "--entrypoints.websecure.address=:443"
|
- "--entrypoints.websecure.address=:443"
|
||||||
- "--certificatesresolvers.letsencrypt.acme.tlschallenge=true"
|
# DNS-01 statt TLS-ALPN-01 (CFGMON-01): keine oeffentlich offenen 80/443
|
||||||
|
# fuer die Validierung noetig; ermoeglicht Wildcards. Token via .env (Host).
|
||||||
|
- "--certificatesresolvers.letsencrypt.acme.dnschallenge=true"
|
||||||
|
- "--certificatesresolvers.letsencrypt.acme.dnschallenge.provider=ionos"
|
||||||
|
- "--certificatesresolvers.letsencrypt.acme.dnschallenge.resolvers=1.1.1.1:53,8.8.8.8:53"
|
||||||
- "--certificatesresolvers.letsencrypt.acme.email=gamemaster@axion1337.de"
|
- "--certificatesresolvers.letsencrypt.acme.email=gamemaster@axion1337.de"
|
||||||
- "--certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json"
|
- "--certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json"
|
||||||
- "--entrypoints.web.http.redirections.entryPoint.to=websecure"
|
- "--entrypoints.web.http.redirections.entryPoint.to=websecure"
|
||||||
@@ -31,6 +35,10 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- "80:80"
|
- "80:80"
|
||||||
- "443:443"
|
- "443:443"
|
||||||
|
environment:
|
||||||
|
# IONOS Developer DNS-API-Key im Format <prefix>.<secret> — liegt in
|
||||||
|
# /opt/thread-net-git/.env (git-ignoriert), NICHT im Repo.
|
||||||
|
- "IONOS_API_KEY=${IONOS_API_KEY:?IONOS_API_KEY fehlt in .env}"
|
||||||
volumes:
|
volumes:
|
||||||
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
||||||
# Named Volume statt frueherem Portainer-Bind ./letsencrypt: enthaelt
|
# Named Volume statt frueherem Portainer-Bind ./letsencrypt: enthaelt
|
||||||
|
|||||||
Reference in New Issue
Block a user