portainer-mcp/docker-compose.prod.yml
Adolfo Delorenzo 10dfd606c0 feat: streamline Docker deployment with registry images and unified env configuration
- Update docker-compose.yml to use pre-built images from GitLab registry
- Replace individual environment variables with unified env_file directive
- Create comprehensive .env.example with detailed instructions and troubleshooting
- Add push-to-registry.sh script for building and pushing images to registry
- Add docker-compose.prod.yml as reference for production deployments
- Update documentation to reflect simplified deployment process

Users can now deploy with just:
  cp .env.example .env
  docker-compose pull
  docker-compose up -d

All 7 MCP server images are available at:
  git.oe74.net/adelorenzo/portainer-mcp/portainer-*:latest

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-21 15:16:15 -03:00

111 lines
3.3 KiB
YAML

version: '3.8'
services:
portainer-core:
image: git.oe74.net/adelorenzo/portainer-mcp/portainer-core:latest
container_name: portainer-mcp-core
ports:
- "3000:3000"
environment:
- PORTAINER_URL=${PORTAINER_URL}
- PORTAINER_API_KEY=${PORTAINER_API_KEY}
- PORTAINER_INSECURE=${PORTAINER_INSECURE:-false}
- HTTP_TIMEOUT=${HTTP_TIMEOUT:-30}
- MAX_RETRIES=${MAX_RETRIES:-3}
restart: unless-stopped
networks:
- portainer-mcp
portainer-environments:
image: git.oe74.net/adelorenzo/portainer-mcp/portainer-environments:latest
container_name: portainer-mcp-environments
ports:
- "3001:3001"
environment:
- PORTAINER_URL=${PORTAINER_URL}
- PORTAINER_API_KEY=${PORTAINER_API_KEY}
- PORTAINER_INSECURE=${PORTAINER_INSECURE:-false}
- HTTP_TIMEOUT=${HTTP_TIMEOUT:-30}
- MAX_RETRIES=${MAX_RETRIES:-3}
restart: unless-stopped
networks:
- portainer-mcp
portainer-docker:
image: git.oe74.net/adelorenzo/portainer-mcp/portainer-docker:latest
container_name: portainer-mcp-docker
ports:
- "3002:3002"
environment:
- PORTAINER_URL=${PORTAINER_URL}
- PORTAINER_API_KEY=${PORTAINER_API_KEY}
- PORTAINER_INSECURE=${PORTAINER_INSECURE:-false}
- HTTP_TIMEOUT=${HTTP_TIMEOUT:-30}
- MAX_RETRIES=${MAX_RETRIES:-3}
restart: unless-stopped
networks:
- portainer-mcp
portainer-kubernetes:
image: git.oe74.net/adelorenzo/portainer-mcp/portainer-kubernetes:latest
container_name: portainer-mcp-kubernetes
ports:
- "3003:3003"
environment:
- PORTAINER_URL=${PORTAINER_URL}
- PORTAINER_API_KEY=${PORTAINER_API_KEY}
- PORTAINER_INSECURE=${PORTAINER_INSECURE:-false}
- HTTP_TIMEOUT=${HTTP_TIMEOUT:-30}
- MAX_RETRIES=${MAX_RETRIES:-3}
restart: unless-stopped
networks:
- portainer-mcp
portainer-stacks:
image: git.oe74.net/adelorenzo/portainer-mcp/portainer-stacks:latest
container_name: portainer-mcp-stacks
ports:
- "3004:3004"
environment:
- PORTAINER_URL=${PORTAINER_URL}
- PORTAINER_API_KEY=${PORTAINER_API_KEY}
- PORTAINER_INSECURE=${PORTAINER_INSECURE:-false}
- HTTP_TIMEOUT=${HTTP_TIMEOUT:-30}
- MAX_RETRIES=${MAX_RETRIES:-3}
restart: unless-stopped
networks:
- portainer-mcp
portainer-edge:
image: git.oe74.net/adelorenzo/portainer-mcp/portainer-edge:latest
container_name: portainer-mcp-edge
ports:
- "3005:3005"
environment:
- PORTAINER_URL=${PORTAINER_URL}
- PORTAINER_API_KEY=${PORTAINER_API_KEY}
- PORTAINER_INSECURE=${PORTAINER_INSECURE:-false}
- HTTP_TIMEOUT=${HTTP_TIMEOUT:-30}
- MAX_RETRIES=${MAX_RETRIES:-3}
restart: unless-stopped
networks:
- portainer-mcp
portainer-gitops:
image: git.oe74.net/adelorenzo/portainer-mcp/portainer-gitops:latest
container_name: portainer-mcp-gitops
ports:
- "3006:3006"
environment:
- PORTAINER_URL=${PORTAINER_URL}
- PORTAINER_API_KEY=${PORTAINER_API_KEY}
- PORTAINER_INSECURE=${PORTAINER_INSECURE:-false}
- HTTP_TIMEOUT=${HTTP_TIMEOUT:-30}
- MAX_RETRIES=${MAX_RETRIES:-3}
restart: unless-stopped
networks:
- portainer-mcp
networks:
portainer-mcp:
driver: bridge