searxng/docs/admin/settings/settings.rst
Markus Heiser 5720844fcd [doc] rearranges Settings & Engines docs for better readability
We have built up detailed documentation of the *settings* and the *engines* over
the past few years.  However, this documentation was still spread over various
chapters and was difficult to navigate in its entirety.

This patch rearranges the Settings & Engines documentation for better
readability.

To review new ordered docs::

   make docs.clean docs.live

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-07-01 22:45:19 +02:00

3.0 KiB

settings.yml

This page describe the options possibilities of the searx/settings.yml file.

Further reading ..

  • use_default_settings.yml
  • search API

settings.yml location

The initial settings.yml we be load from these locations:

  1. the full path specified in the SEARXNG_SETTINGS_PATH environment variable.
  2. /etc/searxng/settings.yml

If these files don't exist (or are empty or can't be read), SearXNG uses the searx/settings.yml file. Read settings use_default_settings to see how you can simplify your user defined settings.yml.

use_default_settings

use_default_settings: true

  • settings location
  • use_default_settings.yml
  • /etc/searxng/settings.yml <utils/templates/etc/searxng/settings.yml>

The user defined settings.yml is loaded from the settings location and can relied on the default configuration searx/settings.yml using:

use_default_settings: true

server:

In the following example, the actual settings are the default settings defined in searx/settings.yml with the exception of the secret_key and the bind_address:

use_default_settings: true
server:
    secret_key: "ultrasecretkey"   # change this!
    bind_address: "0.0.0.0"
engines:

With use_default_settings: true, each settings can be override in a similar way, the engines section is merged according to the engine name. In this example, SearXNG will load all the default engines, will enable the bing engine and define a token <private engines> for the arch linux engine:

use_default_settings: true
server:
  secret_key: "ultrasecretkey"   # change this!
engines:
  - name: arch linux wiki
    tokens: ['$ecretValue']
  - name: bing
    disabled: false
engines: / remove:

It is possible to remove some engines from the default settings. The following example is similar to the above one, but SearXNG doesn't load the the google engine:

use_default_settings:
  engines:
    remove:
      - google
server:
  secret_key: "ultrasecretkey"   # change this!
engines:
  - name: arch linux wiki
    tokens: ['$ecretValue']
engines: / keep_only:

As an alternative, it is possible to specify the engines to keep. In the following example, SearXNG has only two engines:

use_default_settings:
  engines:
    keep_only:
      - google
      - duckduckgo
server:
  secret_key: "ultrasecretkey"   # change this!
engines:
  - name: google
    tokens: ['$ecretValue']
  - name: duckduckgo
    tokens: ['$ecretValue']