version: '3.8' services: ollama-mcp: image: node:20-alpine container_name: ollama-mcp-server restart: unless-stopped environment: - OLLAMA_HOST=http://10.1.10.9:11434 network_mode: host stdin_open: true tty: false command: sh -c "while true; do sleep 3600; done" spotify-mcp: image: node:20-alpine container_name: spotify-mcp-server restart: unless-stopped stdin_open: true tty: false command: sh -c "while true; do sleep 3600; done" proxmox-mcp: build: context: . dockerfile: Dockerfile container_name: proxmox-mcp-server restart: unless-stopped network_mode: host volumes: - /root/.ssh/proxmox_mcp:/app/ssh_key:ro - /root/proxmox_mcp_patched.py:/app/proxmox_mcp.py:ro environment: - HOST=10.1.80.2 - SSH_USERNAME=root - SSH_KEY=/app/ssh_key - I_ACCEPT_RISKS=true - TRANSPORT=http - SERVER_PORT=8008 - ENABLE_HOST_EXEC=true env_file: - stack.env ha-mcp: image: ghcr.io/homeassistant-ai/ha-mcp:stable container_name: ha-mcp restart: unless-stopped environment: HOMEASSISTANT_URL: http://10.1.10.209:8123 HOMEASSISTANT_TOKEN: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiI5YjFmNGY2MDczZTY0MTU2ODY0NDRlN2U5ZDc2NjBmMiIsImlhdCI6MTc3MDU4MjQzOCwiZXhwIjoyMDg1OTQyNDM4fQ.ghJZFYfG7zdNg-1D0Vu8fzVWigAbOvHW0O_6iYEF-zU entrypoint: ["ha-mcp-sse"] caddy: image: caddy:2-alpine container_name: ha-mcp-caddy restart: unless-stopped ports: - "8086:8086" volumes: - caddy_data:/data - caddy_config:/config command: > caddy reverse-proxy --from :8086 --to ha-mcp:8087 --internal-certs depends_on: - ha-mcp volumes: caddy_data: caddy_config: