From 13441d88fc6848ea8af30c14291ebe46ef4b5154 Mon Sep 17 00:00:00 2001 From: poduck Date: Wed, 3 Dec 2025 17:08:34 -0500 Subject: [PATCH] fix(traefik): Use separate storage files for certificate resolvers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Separate acme.json storage for HTTP and DNS certificate resolvers to prevent conflicts when requesting wildcard certificates. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- smoothschedule/compose/production/traefik/traefik.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/smoothschedule/compose/production/traefik/traefik.yml b/smoothschedule/compose/production/traefik/traefik.yml index db26af3..4564d19 100644 --- a/smoothschedule/compose/production/traefik/traefik.yml +++ b/smoothschedule/compose/production/traefik/traefik.yml @@ -1,5 +1,9 @@ log: - level: INFO + level: DEBUG + +api: + dashboard: true + insecure: true entryPoints: web: @@ -32,7 +36,7 @@ certificatesResolvers: # DNS challenge for wildcard certificates (*.smoothschedule.com) acme: email: 'admin@smoothschedule.com' - storage: /etc/traefik/acme/acme.json + storage: /etc/traefik/acme/acme-dns.json dnsChallenge: provider: cloudflare resolvers: @@ -100,8 +104,7 @@ http: # Uses DNS challenge for wildcard certificate (*.smoothschedule.com) # Routes to nginx which serves the frontend SPA and proxies /api/ to Django subdomain-router: - rule: 'HostRegexp(`^[a-z0-9-]+\\.smoothschedule\\.com$`)' - priority: 1 + rule: 'HostRegexp(`[a-z0-9-]+\\.smoothschedule\\.com`)' entryPoints: - web-secure middlewares: