Spaces:
Sleeping
Sleeping
File size: 1,863 Bytes
c75526e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | version: '3.8'
services:
openproblems-mcp:
build:
context: ..
dockerfile: docker/Dockerfile
container_name: openproblems-spatial-mcp
restart: unless-stopped
# Environment variables
environment:
- PYTHONUNBUFFERED=1
- MCP_SERVER_NAME=OpenProblems-SpatialAI-MCP
- MCP_SERVER_VERSION=0.1.0
# Volumes for data persistence and Docker socket access
volumes:
- ../data:/app/data:rw
- ../work:/app/work:rw
- ../logs:/app/logs:rw
- /var/run/docker.sock:/var/run/docker.sock:ro # For Docker-in-Docker operations
# Network configuration
networks:
- openproblems-network
# Resource limits
deploy:
resources:
limits:
memory: 4G
cpus: '2.0'
reservations:
memory: 1G
cpus: '0.5'
# Health check
healthcheck:
test: ["CMD", "python", "-c", "import mcp; print('MCP SDK available')"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
# Logging configuration
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
# Optional: Add a reverse proxy for HTTP transport
nginx-proxy:
image: nginx:alpine
container_name: openproblems-mcp-proxy
restart: unless-stopped
depends_on:
- openproblems-mcp
ports:
- "8080:80"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
networks:
- openproblems-network
profiles:
- http-transport
# Networks
networks:
openproblems-network:
driver: bridge
name: openproblems-spatial-network
# Volumes for data persistence
volumes:
data-volume:
driver: local
name: openproblems-data
work-volume:
driver: local
name: openproblems-work
logs-volume:
driver: local
name: openproblems-logs
|