# Production environment services: grist-mcp: image: ghcr.io/xe138/grist-mcp-server:latest@sha256:b711745b030408c95ab20c440b6b263fc31e4110850449f86d833f7875e1994d ports: - "${PORT:-3000}:3000" volumes: - ./config.yaml:/app/config.yaml:ro environment: - CONFIG_PATH=/app/config.yaml - EXTERNAL_PORT=${PORT:-3000} restart: unless-stopped healthcheck: test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:3000/health')"] interval: 30s timeout: 10s retries: 3 start_period: 60s