Linux

Where Is the SearXNG Config File?

SearXNG reads settings.yml from etc searxng. Secrets, engines, and result tweaks all live in that one file.

Last updated

SearXNG centralizes into a single YAML file at the system config path. Server bind, secret, search engines, result plugins, and outgoing request settings all live there. Docker images mount the host file to that container path.

The file ships with everything commented to defaults, so a minimal override file works. Morty proxy, Redis caching, and limiter toggles read the same file. Validate YAML syntax before restarting, since a bad indent kills the service. Result plugin toggles share the same file as engine keys.

Where SearXNG stores this, by platform

Linux
/etc/searxng/settings.yml

Main config in YAML. Secret, engines, plugins, and timeouts. Mount from the host in Docker installs.

Frequently asked questions

How do I migrate SearXNG settings?

Copy settings.yml to the same path on the new host and restart. Engine keys and secrets travel in that file, so guard it like a password.

Where do I set the secret key?

Set the secret key value in settings.yml and restart. Sessions and tokens depend on it staying stable across restarts.

Notice an outdated path? Let us know.