-
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
48 lines (47 loc) · 1.85 KB
/
Copy pathdocker-compose.yml
File metadata and controls
48 lines (47 loc) · 1.85 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
40
41
42
43
44
45
46
47
48
services:
testmcpy:
build:
context: .
# Agentic tests (Claude Agent SDK provider) work OUT OF THE BOX
# on the default image: pyproject.toml's `server` extra pulls in
# `claude-agent-sdk`, whose wheel already bundles a platform-
# appropriate `claude` CLI binary at
# `claude_agent_sdk/_bundled/claude`. The SDK looks there first
# before falling back to PATH, so no separate CLI install is
# required for tests to run end-to-end.
#
# INSTALL_CLAUDE_CLI=true is for the SEPARATE use case of
# `docker exec <container> claude` direct CLI use, or for
# pinning a specific Claude Code version that differs from
# whatever the SDK currently bundles. Optionally pair with
# CLAUDE_CLI_VERSION (install.sh otherwise tracks `latest`):
# CLAUDE_CLI_VERSION=2.1.170 INSTALL_CLAUDE_CLI=true \
# docker compose build
args:
INSTALL_CLAUDE_CLI: ${INSTALL_CLAUDE_CLI:-false}
CLAUDE_CLI_VERSION: ${CLAUDE_CLI_VERSION:-}
INSTALL_CODEX_CLI: ${INSTALL_CODEX_CLI:-false}
CODEX_CLI_VERSION: ${CODEX_CLI_VERSION:-}
image: testmcpy:latest
ports:
- "${PORT:-7100}:8000"
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
- testmcpy-data:/app/.testmcpy
- ./mcp_services.yaml:/app/.mcp_services.yaml:ro
- ./llm_providers.yaml:/app/.llm_providers.yaml:ro
environment:
- TESTMCPY_DB_PATH=/app/.testmcpy/storage.db
- MCP_SERVER_URL=${MCP_SERVER_URL:-http://host.docker.internal:5100/api/mcp/}
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- OPENAI_API_KEY=${OPENAI_API_KEY:-}
healthcheck:
test: ["CMD", "curl", "-sf", "http://localhost:8000/health"]
interval: 30s
timeout: 5s
start_period: 15s
retries: 3
restart: unless-stopped
volumes:
testmcpy-data: