# Production environment services: grist-mcp: image: ghcr.io/xe138/grist-mcp-server:latest@sha256:f7e1463b319c398c39be4444ac73a7426849e3edfddf2f0510c9cea61495db01 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