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:
Claude 2025-11-29 07:29:54 +00:00
parent 92a7298e09
commit 593c668d96
No known key found for this signature in database
5 changed files with 807 additions and 50 deletions

View file

@ -204,27 +204,32 @@ EOF
docker compose up -d
```
#### Production Setup with SSL
#### Production Setup with SSL (VPS with nginx-proxy-manager)
1. Create SSL certificates:
If you have an existing nginx-proxy-manager setup (like with Firefly III), you can easily deploy this alongside it:
1. **Build and push your image to Docker Hub:**
```bash
mkdir -p nginx/ssl
# Add your certificates:
# nginx/ssl/fullchain.pem
# nginx/ssl/privkey.pem
docker build -t yourusername/geoguessr-mcp:latest .
docker push yourusername/geoguessr-mcp:latest
```
2. Update docker-compose.prod.yml to use your Docker image:
2. **Deploy on VPS using the automated script:**
```bash
# Edit docker-compose.prod.yml and uncomment the image line:
# image: ${DOCKER_USERNAME:-yourusername}/geoguessr-mcp:${IMAGE_TAG:-latest}
# Then comment out the build section
# On your VPS
cd /geoguessr-mcp
cp .env.production .env
# Edit .env with your DOCKER_USERNAME and GEOGUESSR_NCFA_COOKIE
./deploy.sh
```
3. Deploy with production compose:
```bash
docker compose -f docker-compose.prod.yml up -d
```
3. **Configure SSL in nginx-proxy-manager:**
- Access admin panel: `http://your-vps-ip:81`
- Add Proxy Host for your domain
- Forward to: `geoguessr-mcp-server:8000`
- Enable SSL with Let's Encrypt
**📖 For detailed VPS deployment instructions, see [DEPLOYMENT.md](DEPLOYMENT.md)**
### Method 3: Direct Docker Run