Deploy Docker app to VPS with SSL #3

Merged
NyxiumYuuki merged 1 commit from claude/deploy-docker-vps-ssl-014DR2HgeH6wax4BjuPfv8i7 into master 2025-11-29 08:31:45 +01:00
NyxiumYuuki commented 2025-11-29 08:31:03 +01:00 (Migrated from github.com)

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.

Pull Request

Description

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Code refactoring
  • Performance improvement
  • Test improvement

Fixes #

Changes Made

Testing Performed

  • Unit tests added/updated
  • Integration tests added/updated
  • Manual testing performed
  • All existing tests pass

Test Details

# Example test commands
pytest tests/

Screenshots (if applicable)

Checklist

  • My code follows the project's style guidelines
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published
  • I have checked my code and corrected any misspellings

Additional Context

Breaking Changes

Performance Impact


By submitting this pull request, I confirm that my contribution is made under the terms of the MIT License.

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. # Pull Request ## Description <!-- Provide a clear and concise description of your changes --> ## Type of Change <!-- Mark the relevant option with an 'x' --> - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) - [ ] Documentation update - [ ] Code refactoring - [ ] Performance improvement - [ ] Test improvement ## Related Issues <!-- Link related issues using keywords: Fixes #123, Closes #456, Related to #789 --> Fixes # ## Changes Made <!-- List the main changes in bullet points --> - - - ## Testing Performed <!-- Describe the testing you've done --> - [ ] Unit tests added/updated - [ ] Integration tests added/updated - [ ] Manual testing performed - [ ] All existing tests pass ### Test Details <!-- Provide details about how you tested your changes --> ```bash # Example test commands pytest tests/ ``` ## Screenshots (if applicable) <!-- Add screenshots to help explain your changes --> ## Checklist <!-- Ensure all items are completed before submitting --> - [ ] My code follows the project's style guidelines - [ ] I have performed a self-review of my code - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] New and existing unit tests pass locally with my changes - [ ] Any dependent changes have been merged and published - [ ] I have checked my code and corrected any misspellings ## Additional Context <!-- Add any other context about the pull request here --> ## Breaking Changes <!-- If this is a breaking change, describe the impact and migration path --> ## Performance Impact <!-- Describe any performance implications of your changes --> --- **By submitting this pull request, I confirm that my contribution is made under the terms of the MIT License.**
Sign in to join this conversation.
No description provided.