50 lines
No EOL
1.6 KiB
YAML
50 lines
No EOL
1.6 KiB
YAML
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=${MCP_HOST:-0.0.0.0}
|
|
- MCP_PORT=${MCP_PORT:-8000} # Use the same variable as in ports
|
|
# Monitoring configuration
|
|
- MONITORING_ENABLED=${MONITORING_ENABLED:-true}
|
|
- MONITORING_INTERVAL_HOURS=${MONITORING_INTERVAL_HOURS:-24}
|
|
- SCHEMA_CACHE_DIR=${SCHEMA_CACHE_DIR:-/app/data/schemas}
|
|
# Logging
|
|
- LOG_LEVEL=${LOG_LEVEL:-INFO}
|
|
volumes:
|
|
# Persist schema cache between restarts
|
|
- geoguessr-schemas:${SCHEMA_CACHE_DIR:-/app/data/schemas}
|
|
healthcheck:
|
|
test: [ "CMD", "curl", "-f", "http://localhost:${MCP_PORT:-8000}/health" ]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 15s
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "10m"
|
|
max-file: "3"
|
|
networks:
|
|
- geoguessr-mcp-network
|
|
|
|
volumes:
|
|
geoguessr-schemas:
|
|
name: geoguessr-mcp-schemas
|
|
|
|
networks:
|
|
geoguessr-mcp-network:
|
|
name: geoguessr-mcp-network
|
|
driver: bridge |