This commit adds comprehensive support for deploying the GeoGuessr MCP Server to a VPS alongside existing nginx-proxy-manager setup (e.g., Firefly III). Changes: - Updated docker-compose.prod.yml to use existing firefly_network - Removed standalone nginx service (uses nginx-proxy-manager instead) - Changed from ports to expose for internal-only access - Switched default to pre-built Docker Hub images New files: - DEPLOYMENT.md: Comprehensive deployment guide with SSL setup - .env.production: Production-ready environment configuration template - deploy.sh: Automated deployment script with health checks Updated files: - README.md: Added quick reference to VPS deployment with nginx-proxy-manager - docker-compose.prod.yml: Simplified for proxy manager integration Deployment features: - Automatic SSL certificate management via nginx-proxy-manager - Let's Encrypt integration for HTTPS - Shared Docker network with existing services - Persistent schema storage - Health checks and logging - Easy updates via deploy script This setup allows users to deploy the MCP server on the same VPS as other Docker services while using a single nginx-proxy-manager for SSL/HTTPS.
90 lines
3.6 KiB
Text
90 lines
3.6 KiB
Text
# GeoGuessr MCP Server - Production Configuration
|
|
# This file is for VPS deployment with nginx-proxy-manager and SSL
|
|
|
|
# =============================================================================
|
|
# Docker Image Configuration (REQUIRED for production)
|
|
# =============================================================================
|
|
# Your Docker Hub username - MUST match your pushed image
|
|
DOCKER_USERNAME=yourusername
|
|
|
|
# Docker image tag to use
|
|
# Options: latest, v1.0.0, v1.1.0, etc.
|
|
IMAGE_TAG=latest
|
|
|
|
# =============================================================================
|
|
# GeoGuessr Authentication (REQUIRED for most features)
|
|
# =============================================================================
|
|
# Your GeoGuessr _ncfa cookie for API authentication
|
|
#
|
|
# How to get your _ncfa cookie:
|
|
# 1. Log in to GeoGuessr in your browser
|
|
# 2. Open Developer Tools (F12 or Ctrl+Shift+I)
|
|
# 3. Go to the "Application" or "Storage" tab
|
|
# 4. Under "Cookies", find www.geoguessr.com
|
|
# 5. Look for the cookie named "_ncfa"
|
|
# 6. Copy its value and paste it below
|
|
#
|
|
# SECURITY WARNING: Keep this secret! Never commit to git.
|
|
# Anyone with this cookie can access your GeoGuessr account.
|
|
|
|
GEOGUESSR_NCFA_COOKIE=your_actual_ncfa_cookie_value_here
|
|
|
|
# =============================================================================
|
|
# MCP Server Configuration
|
|
# =============================================================================
|
|
# Transport protocol - keep as streamable-http for production
|
|
MCP_TRANSPORT=streamable-http
|
|
|
|
# Host - keep as 0.0.0.0 to accept connections from nginx-proxy-manager
|
|
MCP_HOST=0.0.0.0
|
|
|
|
# Port - internal port, not exposed to internet (nginx-proxy-manager handles external)
|
|
MCP_PORT=8000
|
|
|
|
# =============================================================================
|
|
# API Monitoring Configuration (RECOMMENDED for production)
|
|
# =============================================================================
|
|
# Enable automatic API endpoint monitoring to detect schema changes
|
|
MONITORING_ENABLED=true
|
|
|
|
# Check endpoints every 24 hours
|
|
MONITORING_INTERVAL_HOURS=24
|
|
|
|
# Directory to store schema cache (persisted in Docker volume)
|
|
SCHEMA_CACHE_DIR=/app/data/schemas
|
|
|
|
# =============================================================================
|
|
# Logging Configuration
|
|
# =============================================================================
|
|
# Log level for production
|
|
# Options: DEBUG (verbose), INFO (recommended), WARNING, ERROR, CRITICAL
|
|
LOG_LEVEL=INFO
|
|
|
|
# For troubleshooting, temporarily set to DEBUG:
|
|
# LOG_LEVEL=DEBUG
|
|
|
|
# =============================================================================
|
|
# Request Configuration
|
|
# =============================================================================
|
|
# Request timeout in seconds (increase if API is slow)
|
|
REQUEST_TIMEOUT=30.0
|
|
|
|
# Maximum retry attempts for failed requests
|
|
MAX_RETRIES=3
|
|
|
|
# =============================================================================
|
|
# Production Notes
|
|
# =============================================================================
|
|
# - This container is accessed through nginx-proxy-manager (firefly_network)
|
|
# - SSL/HTTPS is handled by nginx-proxy-manager
|
|
# - Port 8000 is NOT exposed to the internet
|
|
# - Logs are available via: docker compose -f docker-compose.prod.yml logs -f
|
|
# - Schema cache is persisted in volume: geoguessr-mcp-schemas-prod
|
|
#
|
|
# Deployment steps:
|
|
# 1. Update DOCKER_USERNAME above
|
|
# 2. Update GEOGUESSR_NCFA_COOKIE with your actual cookie
|
|
# 3. Transfer this file to VPS as .env
|
|
# 4. Run: docker compose -f docker-compose.prod.yml up -d
|
|
# 5. Configure proxy host in nginx-proxy-manager (port 81)
|
|
# 6. See DEPLOYMENT.md for detailed instructions
|