- 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>
111 lines
3.3 KiB
YAML
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 |