diff options
| author | Markus Heiser <markus.heiser@darmarit.de> | 2025-07-16 19:16:05 +0200 |
|---|---|---|
| committer | Markus Heiser <markus.heiser@darmarIT.de> | 2025-07-16 20:55:39 +0200 |
| commit | 62fac1c6a9db94682f8ef686f0424a482663b288 (patch) | |
| tree | 36d5b69dd06362a0f8875e543103b0475fdc173d | |
| parent | a0a2f0fd42a62c61141bf0fbc375170104ce30e0 (diff) | |
[fix] custom `plugins:` settings must not be merged.
In customizing it should be decided which plugin modules should be loaded and
which should not.
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
| -rw-r--r-- | docs/admin/settings/settings_plugins.rst | 32 | ||||
| -rw-r--r-- | searx/settings_loader.py | 4 |
2 files changed, 36 insertions, 0 deletions
diff --git a/docs/admin/settings/settings_plugins.rst b/docs/admin/settings/settings_plugins.rst index 6e7b7bd6c..a6baa6051 100644 --- a/docs/admin/settings/settings_plugins.rst +++ b/docs/admin/settings/settings_plugins.rst @@ -25,6 +25,38 @@ transferred to the plugin, e.g. to activate it by default / *opt-in* or Please note that some plugins, such as the :ref:`hostnames plugin` plugin, require further configuration before they can be made available for selection. +By default the :ref:`settings built in plugins` are loaded. To change the list +of plugins to be loaded, the value for ``plugins:`` in +``/etc/searxng/settings.yml`` must be overwritten. + +Following is an example that uses :ref:`settings use_default_settings` and only +two plugins are registered: the calculator can be activated by the user and the +unit converter is active by default. + + +.. code:: yaml + + use_default_settings: true + + plugins: + + searx.plugins.calculator.SXNGPlugin: + active: false + + searx.plugins.unit_converter.SXNGPlugin: + active: true + +To prevent any plugins from loading, the following setting can be used: + +.. code:: yaml + + use_default_settings: true + + plugins: {} + + +.. _settings built in plugins: + built-in plugins ================ diff --git a/searx/settings_loader.py b/searx/settings_loader.py index e01f4439f..784f79d82 100644 --- a/searx/settings_loader.py +++ b/searx/settings_loader.py @@ -137,6 +137,10 @@ def update_settings(default_settings: dict, user_settings: dict): if categories_as_tabs: default_settings['categories_as_tabs'] = categories_as_tabs + plugins = user_settings.get('plugins') + if plugins is not None: + default_settings['plugins'] = plugins + # parse the engines remove_engines = None keep_only_engines = None |