Bound shared MCP container lifecycle

This commit is contained in:
2026-07-24 13:03:09 -07:00
parent 8de9658b8c
commit 6177a995d5
17 changed files with 1351 additions and 117 deletions

View File

@@ -21,9 +21,14 @@ services:
args:
MCP_WEB_SEARCH_MAX_BYTES: "${CONTEXT_KIT_WEB_SEARCH_MAX_BYTES:-52428800}"
image: ${CONTEXT_KIT_WEB_SEARCH_IMAGE:-context-kit/web-search-mcp:latest}
profiles: ["mcp"]
stdin_open: true
tty: false
# Long-lived shared web-search MCP. Clients connect directly over
# Streamable HTTP; stdio callers use a disposable proxy bridge.
restart: unless-stopped
init: true
depends_on:
- searxng
ports:
- "127.0.0.1:${CONTEXT_KIT_WEB_SEARCH_PORT:-8777}:8000"
environment:
DEFAULT_SEARCH_PROVIDER: "${CONTEXT_KIT_WEB_SEARCH_PROVIDER:-searxng}"
SEARXNG_URL: "http://searxng:8080"
@@ -33,8 +38,17 @@ services:
MAX_RESULTS: "${CONTEXT_KIT_WEB_SEARCH_MAX_RESULTS:-10}"
BROWSER_SEARCH_USER_AGENT: "${CONTEXT_KIT_WEB_SEARCH_BROWSER_USER_AGENT:-}"
MCP_COMPAT_MODE: "${CONTEXT_KIT_WEB_SEARCH_MCP_COMPAT_MODE:-}"
healthcheck:
test: ["CMD", "node", "/usr/local/lib/context-kit/mcp-probe.mjs", "http://127.0.0.1:8000/mcp"]
interval: 30s
timeout: 5s
retries: 3
start_period: 15s
labels:
dev.context-kit: "true"
dev.context-kit.lifecycle: "shared"
dev.context-kit.owner: "host"
dev.context-kit.uid: "${CONTEXT_KIT_HOST_UID:-1000}"
docs-mcp:
build: