forked from Ponysearch/Ponysearch
5720844fcd
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>
117 lines
3 KiB
ReStructuredText
117 lines
3 KiB
ReStructuredText
.. _settings.yml:
|
|
|
|
================
|
|
``settings.yml``
|
|
================
|
|
|
|
This page describe the options possibilities of the :origin:`searx/settings.yml`
|
|
file.
|
|
|
|
.. sidebar:: Further reading ..
|
|
|
|
- :ref:`use_default_settings.yml`
|
|
- :ref:`search API`
|
|
|
|
.. contents::
|
|
:depth: 2
|
|
:local:
|
|
:backlinks: entry
|
|
|
|
.. _settings location:
|
|
|
|
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
|
|
:origin:`searx/settings.yml` file. Read :ref:`settings use_default_settings` to
|
|
see how you can simplify your *user defined* ``settings.yml``.
|
|
|
|
|
|
|
|
.. _settings use_default_settings:
|
|
|
|
use_default_settings
|
|
====================
|
|
|
|
.. sidebar:: ``use_default_settings: true``
|
|
|
|
- :ref:`settings location`
|
|
- :ref:`use_default_settings.yml`
|
|
- :origin:`/etc/searxng/settings.yml <utils/templates/etc/searxng/settings.yml>`
|
|
|
|
The user defined ``settings.yml`` is loaded from the :ref:`settings location`
|
|
and can relied on the default configuration :origin:`searx/settings.yml` using:
|
|
|
|
``use_default_settings: true``
|
|
|
|
``server:``
|
|
In the following example, the actual settings are the default settings defined
|
|
in :origin:`searx/settings.yml` with the exception of the ``secret_key`` and
|
|
the ``bind_address``:
|
|
|
|
.. code:: yaml
|
|
|
|
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 :ref:`token <private engines>` for
|
|
the arch linux engine:
|
|
|
|
.. code:: yaml
|
|
|
|
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:
|
|
|
|
.. code:: yaml
|
|
|
|
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:
|
|
|
|
.. code:: yaml
|
|
|
|
use_default_settings:
|
|
engines:
|
|
keep_only:
|
|
- google
|
|
- duckduckgo
|
|
server:
|
|
secret_key: "ultrasecretkey" # change this!
|
|
engines:
|
|
- name: google
|
|
tokens: ['$ecretValue']
|
|
- name: duckduckgo
|
|
tokens: ['$ecretValue']
|