feat: add Docker support for all MCP servers

- Create individual Dockerfiles for each of the 7 MCP servers
- Add docker-compose.yml for orchestrating all services
- Create build-docker.sh script for easy container building
- Add comprehensive Docker deployment documentation (DOCKER.md)
- Update main README with Docker installation instructions
- Add .env.example template for environment configuration
- Configure each server with dedicated ports (3000-3006)
- Implement security best practices (non-root user, minimal base image)
- Add production deployment considerations and troubleshooting guide

Each server can now be run individually or all together using Docker Compose,
making deployment and scaling much easier for production environments.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-07-21 00:12:39 -03:00
parent f9d8407c09
commit 2098453ff1
13 changed files with 735 additions and 38 deletions

View File

@@ -1,45 +1,18 @@
# Portainer Core MCP Server Configuration
# Portainer MCP Environment Configuration
# Copy this file to .env and update with your values
# =============================================================================
# REQUIRED CONFIGURATION
# =============================================================================
# Portainer instance URL (required)
# Examples:
# - https://portainer.example.com
# - https://portainer.company.com:9443
# - http://localhost:9000
# Required - Your Portainer instance URL
PORTAINER_URL=https://your-portainer-instance.com
# Portainer API key for authentication (required)
# Generate this from Portainer UI: User settings > API tokens
# Example: ptr_XYZ123abc456def789
# Required - Your Portainer API key
# Generate from Portainer UI: My Account > Access Tokens
PORTAINER_API_KEY=your-api-key-here
# =============================================================================
# OPTIONAL CONFIGURATION
# =============================================================================
# Optional - Set to true if using self-signed certificates
PORTAINER_INSECURE=false
# HTTP client settings
# Optional - HTTP request timeout in seconds
HTTP_TIMEOUT=30
MAX_RETRIES=3
RETRY_DELAY=1.0
# Circuit breaker settings
CIRCUIT_BREAKER_FAILURE_THRESHOLD=5
CIRCUIT_BREAKER_RECOVERY_TIMEOUT=60
# Token management settings
TOKEN_CACHE_TTL=3600
TOKEN_REFRESH_THRESHOLD=300
# Logging settings
LOG_LEVEL=INFO
LOG_FORMAT=json
# Development settings
DEBUG=false
# MCP mode - disables stdout logging
MCP_MODE=true
# Optional - Maximum number of retry attempts
MAX_RETRIES=3