Fix Traefik routing - use single service for multiple routers

Traefik cannot auto-link routers when multiple services are defined.
Fixed by using a single service (canvas) that both routers explicitly
reference via the .service label.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Jeff Emmett 2025-12-03 22:52:41 -08:00
parent ebf602fd21
commit 5f2166075b
1 changed files with 5 additions and 3 deletions

View File

@ -14,15 +14,17 @@ services:
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik-public"
# Single service definition (both routers use same backend)
- "traefik.http.services.canvas.loadbalancer.server.port=80"
# Production deployment (jeffemmett.com and www)
- "traefik.http.routers.canvas-prod.rule=Host(`jeffemmett.com`) || Host(`www.jeffemmett.com`)"
- "traefik.http.routers.canvas-prod.entrypoints=web"
- "traefik.http.services.canvas-prod.loadbalancer.server.port=80"
- "traefik.http.routers.canvas-prod.service=canvas"
# Staging deployment (keep for testing)
- "traefik.http.routers.canvas-staging.rule=Host(`staging.jeffemmett.com`)"
- "traefik.http.routers.canvas-staging.entrypoints=web"
- "traefik.http.services.canvas-staging.loadbalancer.server.port=80"
- "traefik.docker.network=traefik-public"
- "traefik.http.routers.canvas-staging.service=canvas"
networks:
- traefik-public
healthcheck: