version: '3.8' services: geoguessr-mcp: # Option 1: Build locally build: context: . dockerfile: Dockerfile # Option 2: Use pre-built image from Docker Hub (uncomment to use) # image: ${DOCKER_USERNAME:-yourusername}/geoguessr-mcp:${IMAGE_TAG:-latest} container_name: geoguessr-mcp-server restart: unless-stopped ports: - "${MCP_PORT:-8000}:8000" environment: # GeoGuessr Authentication (optional - can use login tool instead) - GEOGUESSR_NCFA_COOKIE=${GEOGUESSR_NCFA_COOKIE:-} # MCP Server configuration - MCP_TRANSPORT=${MCP_TRANSPORT:-streamable-http} - MCP_HOST=0.0.0.0 - MCP_PORT=8000 # Monitoring configuration - MONITORING_ENABLED=${MONITORING_ENABLED:-true} - MONITORING_INTERVAL_HOURS=${MONITORING_INTERVAL_HOURS:-24} - SCHEMA_CACHE_DIR=/app/data/schemas # Logging - LOG_LEVEL=${LOG_LEVEL:-INFO} volumes: # Persist schema cache between restarts - geoguessr-schemas:/app/data/schemas healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health"] interval: 30s timeout: 10s retries: 3 start_period: 15s logging: driver: "json-file" options: max-size: "10m" max-file: "3" volumes: geoguessr-schemas: name: geoguessr-mcp-schemas networks: default: name: geoguessr-mcp-network