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
33
README.md
33
README.md
|
|
@ -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
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue