# Overwatch MCP - Docker Compose
#
# Usage:
# 1. Copy .env.example to .env and fill in values
# 2. Copy config.example.yaml to config.yaml
# 3. docker compose up -d
#
# For Claude Desktop remote access via SSE:
# Configure Claude Desktop with: {"url": "http://<server-ip>:8080/sse"}
services:
overwatch-mcp:
image: ghcr.io/malindarathnayake/overwatch-mcp:latest
container_name: overwatch-mcp
restart: unless-stopped
volumes:
- ./config.yaml:/app/config/config.yaml:ro
env_file:
- .env
environment:
- LOG_LEVEL=${LOG_LEVEL:-info}
# SSE mode - expose HTTP endpoint for remote Claude Desktop access
ports:
- "8080:8080"
# Run in SSE transport mode for HTTP access
command: ["--config", "/app/config/config.yaml", "--transport", "sse", "--port", "8080"]
# Health check - use the /health endpoint in SSE mode
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
interval: 30s
timeout: 5s
retries: 3
start_period: 10s
# Optional: Add extra_hosts for internal DNS resolution
# extra_hosts:
# - "graylog.internal:192.168.1.100"
# - "prometheus.internal:192.168.1.101"