SearXNG is a metasearch engine that powers the web_search tool. It aggregates results from multiple search engines without tracking.
Setup
SearXNG is included in the default Docker Compose configuration:
yaml
searxng:
image: searxng/searxng:2026.2.16
ports:
- "8080:8080"Connect it to the engine with:
bash
FRONA_SEARCH_PROVIDER=searxng
FRONA_SEARCH_SEARXNG_BASE_URL=http://searxng:8080JSON Format
Frona fetches search results from SearXNG as JSON. By default, SearXNG only enables HTML output. You need to enable the json format in your settings.yml:
yaml
search:
formats:
- html
- jsonWithout this, the web_search tool will fail because SearXNG won't return JSON responses.
Customization
To customize SearXNG, create a settings.yml and mount it into the container:
yaml
searxng:
volumes:
- ./searxng/settings.yml:/etc/searxng/settings.ymlCommon tweaks:
- Enable or disable specific search engines
- Set default language and region
- Configure rate limits
- Adjust result formatting
Security
Like Browserless, SearXNG should not be directly exposed to the public internet in production. Remove the port mapping:
yaml
searxng:
image: searxng/searxng:2026.2.16
# No ports: section