- #1 SearXNG auth: remove external port, internal-only network, enable limiter - #2 Health checks: add docker-compose healthcheck + depends_on condition - #3 Rate limiting: add per-IP RateLimitMiddleware (30 req/min) - #4 Hardcoded secret: replace with ${SEARXNG_SECRET} env var - #5 Debug disclosure: debug=False, generic error messages, no stack traces - #6 Health endpoint: add /health route returning JSON status - #7 asyncio deprecation: get_event_loop() -> get_running_loop() - #8 httpx reuse: module-level singleton AsyncClient with connection pool
Description
Self-hosted Google + DuckDuckGo search as MCP tools for LLM clients, backed by SearXNG. No API keys, no browser fingerprinting.
Languages
Python
98.6%
Dockerfile
1.4%