Move the DuckDuckGo MCP server into its own repository. This repo keeps the Google MCP server, shared search library, and tests. Compose trimmed to the Google service.
57 lines
1.4 KiB
YAML
57 lines
1.4 KiB
YAML
services:
|
|
searxng:
|
|
image: searxng/searxng:latest
|
|
container_name: searxng
|
|
expose:
|
|
- "8080"
|
|
volumes:
|
|
- ./searxng-settings.yml:/etc/searxng/settings.yml:ro
|
|
environment:
|
|
- SEARXNG_BASE_URL=http://localhost:8080/
|
|
- SEARXNG_SECRET=${SEARXNG_SECRET:-}
|
|
- UWSGI_WORKERS=4
|
|
- UWSGI_THREADS=4
|
|
restart: unless-stopped
|
|
stop_grace_period: 5s
|
|
networks:
|
|
- mcp-internal
|
|
healthcheck:
|
|
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8080/healthz')"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 15s
|
|
|
|
google-search:
|
|
build:
|
|
context: .
|
|
dockerfile: google-mcp/Dockerfile
|
|
container_name: google-mcp
|
|
ports:
|
|
- "3001:3001"
|
|
environment:
|
|
- RATE_LIMIT_SECONDS=5
|
|
- MCP_PORT=3001
|
|
- SEARXNG_URL=http://searxng:8080
|
|
- PYTHONUNBUFFERED=1
|
|
depends_on:
|
|
searxng:
|
|
condition: service_healthy
|
|
restart: unless-stopped
|
|
stop_grace_period: 5s
|
|
networks:
|
|
- mcp-internal
|
|
- mcp-external
|
|
healthcheck:
|
|
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:3001/health')"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 10s
|
|
|
|
networks:
|
|
mcp-internal:
|
|
internal: true
|
|
mcp-external:
|
|
driver: bridge
|