Commit Graph
1 Commits
Author SHA1 Message Date
jpmschweitzerandClaude b0ade653fc feat(stack): add SearXNG metasearch engine for AI web search
Deploy SearXNG privacy-focused metasearch engine as infrastructure service
for core-ai web search capabilities.

Changes:
- Add SearXNG Docker Compose stack
  - Image: searxng/searxng:latest
  - Port: 8087 (HTTP API with JSON format)
  - Network: docker-dataplane (shared with core-ai)
  - Storage: Config only at ~/docker-data/searxng
  - Redis integration: DB 5 on redis-shared for result caching
  - Resource limits: 1 CPU, 512MB RAM
  - Health check: /healthz endpoint

Features:
- Aggregates 246+ search engines (Google, Bing, DuckDuckGo, etc.)
- Privacy-first: No tracking, no profiling, no data collection
- Multi-format: HTML (web UI), JSON (API for core-ai)
- Configurable categories: general, it, science, news, images, videos, etc.
- Result caching via Redis (reduces duplicate queries)

Search Categories:
- general: Web search
- it: Programming/technical (StackOverflow, GitHub, documentation)
- science: Academic (arXiv, PubMed, Semantic Scholar)
- news: News articles
- images/videos: Media search
- map: Geographic/location queries

Integration:
- Core-AI web_search tool uses http://searxng:8080/search API
- JSON format enabled for programmatic access
- Timezone: Europe/Amsterdam

Security:
- Dropped all capabilities except essential (CHOWN, SETGID, SETUID)
- No data persistence (privacy by design)
- Internal network only (not exposed via NPM)

Setup:
1. mkdir -p ~/docker-data/searxng
2. docker-compose -f stacks/searxng.yml up -d
3. Verify: curl "http://localhost:8087/search?q=test&format=json"

API Usage:
GET http://searxng:8080/search?q=query&format=json&categories=general

Resource Usage:
- CPU: ~0.2-0.5 cores
- RAM: ~150-300MB
- Disk: ~10-50MB (config only)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-02 18:37:14 +01:00