# Jana MCP Server - Standalone Docker Compose
# Use this when running MCP server independently (Jana backend running elsewhere)
#
# Development mode: Code changes are auto-reloaded via volume mount + uvicorn --reload
services:
mcp:
build:
context: .
dockerfile: Dockerfile
container_name: jana-mcp-server
ports:
- "8080:8080"
environment:
# Jana Backend Configuration
# Use host.docker.internal when backend runs on host machine
- JANA_BACKEND_URL=${JANA_BACKEND_URL:-http://host.docker.internal:8000}
- 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:-INFO}
# Python path for volume-mounted source
- PYTHONPATH=/app/src
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
restart: unless-stopped
volumes:
# Mount source for live code reload during development
# Code changes are immediately reflected without container rebuild
- ./src:/app/src
# Mount tests for running pytest in container
- ./tests:/app/tests
# Development command with auto-reload
command: ["uvicorn", "jana_mcp.app:app", "--host", "0.0.0.0", "--port", "8080", "--reload", "--reload-dir", "/app/src"]