summaryrefslogtreecommitdiff
path: root/docs/admin/settings/settings_redis.rst
blob: 49640f314c7a4dbb62e9d07b63a32efaefc2a3d0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
.. _settings redis:

==========
``redis:``
==========

.. _Redis.from_url(url): https://redis-py.readthedocs.io/en/stable/connections.html#redis.client.Redis.from_url

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 SerXNG.  When using
sockets, don't forget to check the access rights on the socket::

  ls -la /usr/local/searxng-redis/run/redis.sock
  srwxrwx--- 1 searxng-redis searxng-redis ... /usr/local/searxng-redis/run/redis.sock

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

.. admonition:: Tip for developers

   To set up a local redis instance, first set the socket path of the Redis DB
   in your YAML setting:

   .. code:: yaml

      redis:
        url: unix:///usr/local/searxng-redis/run/redis.sock?db=0

   Then use the following commands to install the redis instance ::

     $ ./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