-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.mcp.yml
More file actions
39 lines (37 loc) · 1.29 KB
/
Copy pathdocker-compose.mcp.yml
File metadata and controls
39 lines (37 loc) · 1.29 KB
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
name: ic-data-bot-mcp
services:
mcp:
build:
context: .
args:
GIT_SHA: ${GIT_SHA:-dev}
image: ic-data-bot:local
env_file: .env
# Lance le serveur MCP (PAS le bot) : override de l'entrypoint, qui fait lui-même
# le clone anonyme du repo public data-platform (jamais l'overlay _ops).
entrypoint: ["uv", "run", "--no-sync", "ic-data-bot-mcp"]
# Publié sur l'hôte pour que la bastion Traefik (autre machine) joigne le service.
ports:
- "${MCP_PORT:-8765}:8765"
# Volume DÉDIÉ, distinct du `clone` du bot (qui contient _ops/) → snapshot public propre.
# + index code vectoriel (lecture seule) pour l'outil search_code (CODE_INDEX_HOST_DIR
# sur l'hôte → /opt/ci ; cf. CODE_INDEX_DIR/CODE_INDEX_TOOLS_DIR dans .env).
volumes:
- clone-mcp:/data/data-platform
- ${CODE_INDEX_HOST_DIR:-./code-index}:/opt/ci:ro
restart: unless-stopped
# 512 Mo : marge pour le back-end vectoriel lancedb (import + recherche) de search_code.
mem_limit: 1g
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8765/healthz"]
interval: 30s
timeout: 5s
retries: 3
start_period: 30s
logging:
driver: json-file
options:
max-size: "10m"
max-file: "5"
volumes:
clone-mcp: