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