# Azure DevOps MCP Server - Docker Compose
# Usage: docker-compose up -d
version: '3.8'
services:
ado-mcp:
build: .
container_name: ado-mcp-server
ports:
- "3000:3000"
environment:
# Required: Azure DevOps credentials
- ADO_ORG_URL=${ADO_ORG_URL}
- ADO_PAT=${ADO_PAT}
# Optional: Default project
- ADO_PROJECT=${ADO_PROJECT:-}
# HTTP configuration
- MCP_HTTP_PORT=3000
- MCP_SESSION_TIMEOUT=${MCP_SESSION_TIMEOUT:-30}
- MCP_CORS_ORIGINS=${MCP_CORS_ORIGINS:-http://localhost:3000,http://localhost:5173}
restart: unless-stopped
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3000/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
# Example with multiple instances (for scaling)
# Uncomment to enable load balancing with nginx
#
# ado-mcp-1:
# build: .
# environment:
# - ADO_ORG_URL=${ADO_ORG_URL}
# - ADO_PAT=${ADO_PAT}
# expose:
# - "3000"
#
# ado-mcp-2:
# build: .
# environment:
# - ADO_ORG_URL=${ADO_ORG_URL}
# - ADO_PAT=${ADO_PAT}
# expose:
# - "3000"
#
# nginx:
# image: nginx:alpine
# ports:
# - "3000:80"
# volumes:
# - ./nginx.conf:/etc/nginx/nginx.conf:ro
# depends_on:
# - ado-mcp-1
# - ado-mcp-2