GeoGuessrMCP/docker-compose.yml
Claude 9c5ac820b6
Add Docker deployment support with registry integration
- Update Dockerfile to use pyproject.toml instead of requirements.txt
- Add support for Docker Hub image pulling in compose files
- Add comprehensive deployment documentation with multiple methods
- Create CLAUDE.md with development and architecture guide
- Add .dockerignore for optimized build context
- Update .env.example with Docker configuration variables
- Configure 24-hour monitoring interval by default

Changes:
- Dockerfile: Install from pyproject.toml, use main.py entry point
- docker-compose.yml: Add image option for registry deployment
- docker-compose.prod.yml: Add image option for VPS deployment
- README.md: Add Docker Hub push/pull workflows and examples
- CLAUDE.md: Comprehensive guide for AI assistants and developers
- .dockerignore: Exclude unnecessary files from Docker builds
- .env.example: Add DOCKER_USERNAME and IMAGE_TAG variables
2025-11-29 04:53:07 +00:00

54 lines
1.4 KiB
YAML

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