Create Docker deployment infrastructure

This commit provides production-ready Docker deployment for the HTTP MCP wrapper.

Components:
- Dockerfile: Multi-stage build for optimized image size
  - Builder stage: Compiles dependencies and installs packages
  - Production stage: Minimal runtime image with only necessary files
  - Python 3.11 slim base image
  - Health check endpoint integration
  - Proper Python environment variables (unbuffered, no bytecode)

- docker-compose.yml: Complete orchestration setup
  - Service configuration with restart policy
  - Port mapping (8000:8000)
  - Environment variable passthrough
  - Health check configuration
  - Isolated network
  - Ready for production deployment

- .dockerignore: Optimized build context
  - Excludes Python cache, virtual environments, IDE files
  - Excludes tests and documentation
  - Reduces image size and build time

- .env.docker.example: Docker-specific environment template
  - All required Gitea configuration
  - Optional authentication settings
  - Optional tool filtering settings

Deployment:
1. Copy .env.docker.example to .env
2. Fill in Gitea credentials
3. Run: docker-compose up -d
4. Access at http://localhost:8000

This infrastructure enables easy deployment to any Docker-compatible environment (local, cloud, Kubernetes).

Closes #15

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-03 16:10:06 -05:00
parent 3d1fd2e2a6
commit d21f85545b
4 changed files with 183 additions and 0 deletions

67
.dockerignore Normal file
View File

@@ -0,0 +1,67 @@
# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
*.coverage
.pytest_cache/
.mypy_cache/
.ruff_cache/
# Virtual environments
venv/
env/
ENV/
.venv/
# IDE
.vscode/
.idea/
*.swp
*.swo
*~
# Git
.git/
.gitignore
.gitattributes
# Documentation
*.md
docs/
# CI/CD
.github/
.gitlab-ci.yml
# Environment files
.env
.env.*
!.env.example
# Claude Code
.claude/
# Docker
.dockerignore
docker-compose.override.yml
# Test files
tests/