The docker-label router (apess-web@docker) was being silently dropped by Traefik after subsequent reloads, even though all labels and the container's network attach were correct. Falling back to the ClawBooks landing's catch-all PathPrefix(`/`) meant apess.redclaw.dev served the wrong content after the first ~5 minutes. Switch to an explicit file-provider definition in apess.yml with priority: 1000 (well above landing's priority: 1) so the router is authoritative regardless of docker-discovery races. The compose file now just runs the container; routing is owned by the dynamic config.
25 lines
689 B
YAML
25 lines
689 B
YAML
# APESS 2026 — Traefik dynamic config (file provider)
|
|
# Lives at /home/redclaw/projects/clawbooks/deploy/traefik/dynamic/apess.yml on gw-03.
|
|
# Cert: /etc/traefik/ssl/apess/apess.{pem,key} (Cloudflare Origin Cert *.redclaw.dev)
|
|
# Service backend: apess-web container on clawbooks-net (port 80)
|
|
http:
|
|
routers:
|
|
apess-web:
|
|
rule: "Host(`apess.redclaw.dev`)"
|
|
entryPoints:
|
|
- websecure
|
|
service: apess-web
|
|
tls: {}
|
|
priority: 1000
|
|
|
|
services:
|
|
apess-web:
|
|
loadBalancer:
|
|
servers:
|
|
- url: "http://apess-web:80"
|
|
|
|
tls:
|
|
certificates:
|
|
- certFile: /etc/traefik/ssl/apess/apess.pem
|
|
keyFile: /etc/traefik/ssl/apess/apess.key
|