name: context-kit services: searxng: image: docker.io/searxng/searxng@sha256:e37c25170d9f5947b16713af33e0ab41f0e6e6e73685e19c30fc6bb63562f801 restart: unless-stopped ports: - "127.0.0.1:${CONTEXT_KIT_SEARXNG_PORT:-8099}:8080" environment: BASE_URL: "http://127.0.0.1:${CONTEXT_KIT_SEARXNG_PORT:-8099}/" INSTANCE_NAME: "context-kit-search" SEARXNG_SECRET: "${CONTEXT_KIT_SEARXNG_SECRET:-change-me-local-only}" volumes: - ./docker/web-search/searxng/settings.yml:/etc/searxng/settings.yml:ro - searxng-cache:/var/cache/searxng labels: dev.context-kit: "true" web-search-mcp: build: context: ./docker/web-search image: context-kit/web-search-mcp:latest profiles: ["mcp"] stdin_open: true tty: false environment: DEFAULT_SEARCH_PROVIDER: "searxng" SEARXNG_URL: "http://searxng:8080" CHROME_PATH: "/usr/bin/chromium" HTTP_TIMEOUT: "15000" MAX_RESULTS: "10" labels: dev.context-kit: "true" docs-mcp: build: context: ./docker/docs image: context-kit/docs-mcp:latest profiles: ["mcp"] stdin_open: true tty: false volumes: - ${CONTEXT_KIT_DATA_DIR:-${HOME}/.local/share/context-kit}/docs:/data - ${CONTEXT_KIT_DATA_DIR:-${HOME}/.local/share/context-kit}/models:/models labels: dev.context-kit: "true" volumes: searxng-cache: labels: dev.context-kit: "true"