From 40ffd135da4946649a4074bd666ad647e75001d7 Mon Sep 17 00:00:00 2001 From: Jeff Emmett Date: Fri, 2 Jan 2026 08:24:01 +0100 Subject: [PATCH] Fix Traefik routing: only handle subdomains MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Use unique router name 'rspace-canvas' to avoid conflict with rspace-prod - Only match subdomains, explicitly exclude main domain - rspace-prod handles rspace.online landing page - rspace-online handles *.rspace.online canvas 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- docker-compose.yml | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index ce322e3..93182b8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -11,14 +11,12 @@ services: - PORT=3000 labels: - "traefik.enable=true" - # Main domain (use web entrypoint - Cloudflare handles SSL) - - "traefik.http.routers.rspace.rule=Host(`rspace.online`) || Host(`www.rspace.online`)" - - "traefik.http.routers.rspace.entrypoints=web" - # Wildcard subdomain routing - - "traefik.http.routers.rspace-wildcard.rule=HostRegexp(`{subdomain:[a-z0-9-]+}.rspace.online`)" - - "traefik.http.routers.rspace-wildcard.entrypoints=web" + # Only handle subdomains (rspace-prod handles main domain) + - "traefik.http.routers.rspace-canvas.rule=HostRegexp(`{subdomain:[a-z0-9-]+}.rspace.online`) && !Host(`rspace.online`) && !Host(`www.rspace.online`)" + - "traefik.http.routers.rspace-canvas.entrypoints=web" + - "traefik.http.routers.rspace-canvas.priority=100" # Service configuration - - "traefik.http.services.rspace.loadbalancer.server.port=3000" + - "traefik.http.services.rspace-canvas.loadbalancer.server.port=3000" - "traefik.docker.network=traefik-public" networks: - traefik-public