mcnoaa-tides/docker-compose.yml
Ryan Malloy 77ad2a6bd1 Fix MCP endpoint for Claude.ai connector (serve at root path)
FastMCP defaults to /mcp but Claude.ai sends requests to /.
Add MCP_PATH env var to configure the endpoint path, set to /
in docker-compose for the connector subdomain.
2026-02-23 18:25:14 -07:00

61 lines
1.9 KiB
YAML

services:
docs:
build:
context: ./docs
target: ${APP_ENV:-dev}
args:
- DOMAIN=${DOMAIN:-mcnoaa-tides.l.warehack.ing}
restart: unless-stopped
environment:
- DOMAIN=${DOMAIN:-mcnoaa-tides.l.warehack.ing}
- VITE_HMR_HOST=${VITE_HMR_HOST:-}
- ASTRO_TELEMETRY_DISABLED=1
volumes:
# Dev mode: mount source for hot reload
- ./docs/src:/app/src:ro
- ./docs/public:/app/public:ro
- ./docs/astro.config.mjs:/app/astro.config.mjs:ro
networks:
- caddy
labels:
caddy: ${DOMAIN:-mcnoaa-tides.l.warehack.ing}
caddy.reverse_proxy: "{{upstreams 4321}}"
# WebSocket/HMR streaming support
caddy.reverse_proxy.flush_interval: "-1"
caddy.reverse_proxy.transport: "http"
caddy.reverse_proxy.transport.read_timeout: "0"
caddy.reverse_proxy.transport.write_timeout: "0"
caddy.reverse_proxy.transport.keepalive: "5m"
caddy.reverse_proxy.transport.keepalive_idle_conns: "10"
caddy.reverse_proxy.stream_timeout: "24h"
caddy.reverse_proxy.stream_close_delay: "5s"
mcp:
build:
context: .
dockerfile: Dockerfile.mcp
restart: unless-stopped
environment:
- MCP_TRANSPORT=streamable-http
- MCP_HOST=0.0.0.0
- MCP_PORT=8000
- MCP_PATH=/
networks:
- caddy
labels:
caddy: mcp.${DOMAIN:-mcnoaa-tides.l.warehack.ing}
caddy.reverse_proxy: "{{upstreams 8000}}"
# SSE streaming support for MCP server→client messages
caddy.reverse_proxy.flush_interval: "-1"
caddy.reverse_proxy.transport: "http"
caddy.reverse_proxy.transport.read_timeout: "0"
caddy.reverse_proxy.transport.write_timeout: "0"
caddy.reverse_proxy.transport.keepalive: "5m"
caddy.reverse_proxy.transport.keepalive_idle_conns: "10"
caddy.reverse_proxy.stream_timeout: "24h"
caddy.reverse_proxy.stream_close_delay: "5s"
networks:
caddy:
external: true