Fix: Traefik Let's Encrypt Certificate Renewal Failure
Traefik handles Let's Encrypt certificates automatically via ACME. Renewal fails when port 80 is blocked, DNS doesn't resolve to the server, or the acme.json file has permission issues.
Check Traefik ACME logs
docker logs traefik 2>&1 | grep -i "acme|cert|renew|error" | tail -30
Fix acme.json permissions
chmod 600 /path/to/acme.json docker restart traefik
Traefik static config — verify ACME settings
certificatesResolvers:
letsencrypt:
acme:
email: you@yourdomain.com
storage: /acme.json # Must be 600 permissions
httpChallenge:
entryPoint: web # Port 80 must be accessibleCheck your Traefik-managed domains for cert expiry in the SSL Checker.
Open Tool →