- 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
54 lines
1.4 KiB
YAML
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
|