fix(deploy): route the mcp server through the coolify proxy #14

Merged
TimCane merged 1 commit from fix/coolify-mcp-routing into main 2026-07-19 16:44:40 +01:00
TimCane commented 2026-07-19 16:43:11 +01:00 (Migrated from github.com)

Summary

  • bind the domain to mcp:5205 via SERVICE_FQDN_MCP_5205, so Coolify generates the Traefik router labels
  • without them Traefik has no router for mealplan-mcp.tjc.fyi: every path returns its catch-all 404 on the default self-signed cert, which is what breaks connector sign-in
  • expose 5205 instead of publishing it, so the proxy is the only way in rather than the port also answering on the public IP
  • drop MCP_PORT from .env.example, now unreferenced

Test plan

  • docker compose config parses clean; renders expose: ["5205"], no ports, and the FQDN var present
  • cross-checked every ${VAR} in compose against .env.example in both directions
  • redeploy, then set the domain to mealplan-mcp.tjc.fyi under Configuration -> Domains
  • confirm a real Let's Encrypt cert replaces CN = TRAEFIK DEFAULT CERT
  • a 502 rather than a 404 after deploy means the router exists but the proxy is off the backend network - fix with Connect To Predefined Network
## Summary - bind the domain to `mcp:5205` via `SERVICE_FQDN_MCP_5205`, so Coolify generates the Traefik router labels - without them Traefik has no router for `mealplan-mcp.tjc.fyi`: every path returns its catch-all 404 on the default self-signed cert, which is what breaks connector sign-in - `expose` 5205 instead of publishing it, so the proxy is the only way in rather than the port also answering on the public IP - drop `MCP_PORT` from `.env.example`, now unreferenced ## Test plan - `docker compose config` parses clean; renders `expose: ["5205"]`, no `ports`, and the FQDN var present - cross-checked every `${VAR}` in compose against `.env.example` in both directions - [ ] redeploy, then set the domain to `mealplan-mcp.tjc.fyi` under Configuration -> Domains - [ ] confirm a real Let's Encrypt cert replaces `CN = TRAEFIK DEFAULT CERT` - [ ] a 502 rather than a 404 after deploy means the router exists but the proxy is off the `backend` network - fix with Connect To Predefined Network
Sign in to join this conversation.
No description provided.