docker-compose.yml•1.35 kB
version: '3.8'
services:
esxi-mcp-server:
build:
context: .
dockerfile: Dockerfile
container_name: esxi-mcp-server
restart: unless-stopped
ports:
- "8080:8080"
volumes:
# Mount configuration file
- ./config.yaml:/app/config/config.yaml:ro
# Mount logs directory
- ./logs:/app/logs
environment:
# Configuration can be overridden via environment variables
- VCENTER_HOST=${VCENTER_HOST:-}
- VCENTER_USER=${VCENTER_USER:-}
- VCENTER_PASSWORD=${VCENTER_PASSWORD:-}
- VCENTER_DATACENTER=${VCENTER_DATACENTER:-}
- VCENTER_CLUSTER=${VCENTER_CLUSTER:-}
- VCENTER_DATASTORE=${VCENTER_DATASTORE:-}
- VCENTER_NETWORK=${VCENTER_NETWORK:-VM Network}
- VCENTER_INSECURE=${VCENTER_INSECURE:-true}
- MCP_API_KEY=${MCP_API_KEY:-}
- MCP_LOG_LEVEL=${MCP_LOG_LEVEL:-INFO}
networks:
- mcp-network
healthcheck:
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8080')"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
# Resource limits
deploy:
resources:
limits:
memory: 512M
cpus: '0.5'
reservations:
memory: 256M
cpus: '0.25'
networks:
mcp-network:
driver: bridge