# Jana MCP Server - Production Docker Compose
# Use this for production deployment (no live reload, no volume mounts)
#
# Usage:
# docker-compose -f docker-compose.prod.yml up -d
services:
mcp:
build:
context: .
dockerfile: Dockerfile
container_name: jana-mcp-server
ports:
- "8080:8080"
environment:
# Jana Backend Configuration
- JANA_BACKEND_URL=${JANA_BACKEND_URL}
- JANA_USERNAME=${JANA_USERNAME}
- JANA_PASSWORD=${JANA_PASSWORD}
- JANA_TOKEN=${JANA_TOKEN:-}
- JANA_TIMEOUT=${JANA_TIMEOUT:-30}
# Server Configuration
- MCP_SERVER_HOST=0.0.0.0
- MCP_SERVER_PORT=8080
- LOG_LEVEL=${LOG_LEVEL:-WARNING}
healthcheck:
test: ["CMD", "python", "-c", "import httpx; httpx.get('http://localhost:8080/health').raise_for_status()"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
restart: always
deploy:
resources:
limits:
memory: 512M
cpus: '1'
reservations:
memory: 256M
cpus: '0.5'
# Production command - no reload
command: ["uvicorn", "jana_mcp.app:app", "--host", "0.0.0.0", "--port", "8080", "--workers", "2"]