summaryrefslogtreecommitdiff
path: root/docs/admin/settings
diff options
context:
space:
mode:
authorGaspard d'Hautefeuille <github@dhautefeuille.eu>2025-07-09 07:55:37 +0200
committerGitHub <noreply@github.com>2025-07-09 07:55:37 +0200
commitf798ddd4922d793d5e6ccb7c4111810d549ff4f4 (patch)
tree223aa9d26deb176d983cd8e1bed51ff2cff71eff /docs/admin/settings
parentbd593d0bad2189f57657bbcfa2c5e86f795c680e (diff)
[mod] migrate from Redis to Valkey (#4795)
This patch migrates from `redis==5.2.1` [1] to `valkey==6.1.0` [2]. The migration to valkey is necessary because the company behind Redis has decided to abandon the open source license. After experiencing a drop in user numbers, they now want to run it under a dual license again. But this move demonstrates once again how unreliable the company is and how it treats open source developers. To review first, read the docs:: $ make docs.live Follow the instructions to remove redis: - http://0.0.0.0:8000/admin/settings/settings_redis.html Config and install a local valkey DB: - http://0.0.0.0:8000/admin/settings/settings_valkey.html [1] https://pypi.org/project/redis/ [2] https://pypi.org/project/valkey/ Co-authored-by: HLFH <gaspard@dhautefeuille.eu> Co-authored-by: Markus Heiser <markus.heiser@darmarit.de>
Diffstat (limited to 'docs/admin/settings')
-rw-r--r--docs/admin/settings/index.rst3
-rw-r--r--docs/admin/settings/settings_redis.rst44
-rw-r--r--docs/admin/settings/settings_server.rst2
-rw-r--r--docs/admin/settings/settings_valkey.rst53
4 files changed, 71 insertions, 31 deletions
diff --git a/docs/admin/settings/index.rst b/docs/admin/settings/index.rst
index eb0e07a53..b9d0408ea 100644
--- a/docs/admin/settings/index.rst
+++ b/docs/admin/settings/index.rst
@@ -20,8 +20,7 @@ Settings
settings_server
settings_ui
settings_redis
+ settings_valkey
settings_outgoing
settings_categories_as_tabs
settings_plugins
-
-
diff --git a/docs/admin/settings/settings_redis.rst b/docs/admin/settings/settings_redis.rst
index 9fb067553..e1221ac32 100644
--- a/docs/admin/settings/settings_redis.rst
+++ b/docs/admin/settings/settings_redis.rst
@@ -4,46 +4,34 @@
``redis:``
==========
-.. _Redis.from_url(url): https://redis-py.readthedocs.io/en/stable/connections.html#redis.client.Redis.from_url
+.. _Valkey: https://valkey.io
-A redis DB can be connected by an URL, in :py:obj:`searx.redisdb` you
-will find a description to test your redis connection in SearXNG. When using
-sockets, don't forget to check the access rights on the socket::
+.. attention::
- ls -la /usr/local/searxng-redis/run/redis.sock
- srwxrwx--- 1 searxng-redis searxng-redis ... /usr/local/searxng-redis/run/redis.sock
+ SearXNG is switching from the Redis DB to Valkey_. The configuration
+ description of Valkey_ in SearXNG can be found here: :ref:`settings
+ <settings valkey>`.
-In this example read/write access is given to the *searxng-redis* group. To get
-access rights to redis instance (the socket), your SearXNG (or even your
-developer) account needs to be added to the *searxng-redis* group.
-
-``url`` : ``$SEARXNG_REDIS_URL``
- URL to connect redis database, see `Redis.from_url(url)`_ & :ref:`redis db`::
-
- redis://[[username]:[password]]@localhost:6379/0
- rediss://[[username]:[password]]@localhost:6379/0
- unix://[[username]:[password]]@/path/to/socket.sock?db=0
+If you have built and installed a local Redis DB for SearXNG, it is recommended
+to uninstall it now and replace it with the installation of a Valkey_ DB.
.. _Redis Developer Notes:
Redis Developer Notes
=====================
-To set up a local redis instance, first set the socket path of the Redis DB
-in your YAML setting:
+To uninstall SearXNG's local Redis DB you can use:
-.. code:: yaml
+.. code:: sh
- redis:
- url: unix:///usr/local/searxng-redis/run/redis.sock?db=0
+ # stop your SearXNG instance
+ $ ./utils/searxng.sh remove.redis
-Then use the following commands to install the redis instance (:ref:`manage
-redis.help`):
+Remove the Redis DB in your YAML setting:
-.. code:: sh
+.. code:: yaml
- $ ./manage redis.build
- $ sudo -H ./manage redis.install
- $ sudo -H ./manage redis.addgrp "${USER}"
- # don't forget to logout & login to get member of group
+ redis:
+ url: unix:///usr/local/searxng-redis/run/redis.sock?db=0
+To install Valkey_ read: :ref:`Valkey Developer Notes`
diff --git a/docs/admin/settings/settings_server.rst b/docs/admin/settings/settings_server.rst
index 84908d43f..59c0d7791 100644
--- a/docs/admin/settings/settings_server.rst
+++ b/docs/admin/settings/settings_server.rst
@@ -36,7 +36,7 @@
``limiter`` : ``$SEARXNG_LIMITER``
Rate limit the number of request on the instance, block some bots. The
- :ref:`limiter` requires a :ref:`settings redis` database.
+ :ref:`limiter` requires a :ref:`settings valkey` database.
.. _public_instance:
diff --git a/docs/admin/settings/settings_valkey.rst b/docs/admin/settings/settings_valkey.rst
new file mode 100644
index 000000000..396d5c8ad
--- /dev/null
+++ b/docs/admin/settings/settings_valkey.rst
@@ -0,0 +1,53 @@
+.. _settings valkey:
+
+===========
+``valkey:``
+===========
+
+.. _Valkey:
+ https://valkey.io
+.. _Valkey-Installation:
+ https://valkey.io/topics/installation/
+.. _There are several ways to specify a database number:
+ https://valkey-py.readthedocs.io/en/stable/connections.html#valkey.Valkey.from_url
+
+A Valkey_ DB can be connected by an URL, in section :ref:`valkey db` you will
+find a description to test your valkey connection in SearXNG.
+
+``url`` : ``$SEARXNG_VALKEY_URL``
+ URL to connect valkey database. `There are several ways to specify a database
+ number`_::
+
+ valkey://[[username]:[password]]@localhost:6379/0
+ valkeys://[[username]:[password]]@localhost:6379/0
+ unix://[[username]:[password]]@/path/to/socket.sock?db=0
+
+ When using sockets, don't forget to check the access rights on the socket::
+
+ ls -la /usr/local/searxng-valkey/run/valkey.sock
+ srwxrwx--- 1 searxng-valkey searxng-valkey ... /usr/local/searxng-valkey/run/valkey.sock
+
+ In this example read/write access is given to the *searxng-valkey* group. To
+ get access rights to valkey instance (the socket), your SearXNG (or even your
+ developer) account needs to be added to the *searxng-valkey* group.
+
+
+.. _Valkey Developer Notes:
+
+Valkey Developer Notes
+======================
+
+To set up a local Valkey_ DB, set the URL connector in your YAML setting:
+
+.. code:: yaml
+
+ valkey:
+ url: valkey://localhost:6379/0
+
+To install a local Valkey_ DB from package manager read `Valkey-Installation`_
+or use:
+
+.. code:: sh
+
+ $ ./utils/searxng.sh install valkey
+ # restart your SearXNG instance