Skip to content

SearXNG

SearXNG is a metasearch engine that powers the web_search tool. It aggregates results from multiple search engines without tracking.

SearXNG is included in the default Docker Compose configuration:

searxng:
image: searxng/searxng:2026.2.16
ports:
- "8080:8080"

Connect it to the engine with:

FRONA_SEARCH_PROVIDER=searxng
FRONA_SEARCH_SEARXNG_BASE_URL=http://searxng:8080

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:

search:
formats:
- html
- json

Without this, the web_search tool will fail because SearXNG won’t return JSON responses.

To customize SearXNG, create a settings.yml and mount it into the container:

searxng:
volumes:
- ./searxng/settings.yml:/etc/searxng/settings.yml

Common tweaks:

  • Enable or disable specific search engines
  • Set default language and region
  • Configure rate limits
  • Adjust result formatting

Like Browserless, SearXNG should not be directly exposed to the public internet in production. Remove the port mapping:

searxng:
image: searxng/searxng:2026.2.16
# No ports: section

For a complete setup walkthrough, see the SearXNG Integration Guide.