Add VPS production deployment with nginx-proxy-manager support
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.
This commit is contained in:
parent
92a7298e09
commit
593c668d96
5 changed files with 807 additions and 50 deletions
90
.env.production
Normal file
90
.env.production
Normal file
|
|
@ -0,0 +1,90 @@
|
|||
# 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue