To simplify installation and maintenance of a searx instance you can use the script Origin: utils/searx.sh.


In most cases you will install searx simply by running the command:

sudo -H ./utils/searx.sh install all

The script adds a ${SERVICE_USER} (default:searx) and installs searx into this user account. The installation is described in chapter Step by step installation.


The --help output of the script is largely self-explanatory (Common commands & environment):

  searx.sh shell
  searx.sh install    [all|user|searx-src|pyenv|uwsgi|packages|settings|buildhost]
  searx.sh update     [searx]
  searx.sh remove     [all|user|pyenv|searx-src]
  searx.sh activate   [service]
  searx.sh deactivate [service]
  searx.sh inspect    [service]
  searx.sh option     [debug-[on|off]|image-proxy-[on|off]|result-proxy <url> <key>]
  searx.sh apache     [install|remove]

  start interactive shell from user searx
install / remove
  :all:        complete (de-) installation of searx service
  :user:       add/remove service user 'searx' (/usr/local/searx)
  :searx-src:  clone https://github.com/searx/searx
  :pyenv:      create/remove virtualenv (python) in /usr/local/searx/searx-pyenv
  :uwsgi:      install searx uWSGI application
  :settings:   reinstall settings from /home/runner/work/searx/searx/utils/templates/etc/searx/use_default_settings.yml
  :packages:   install needed packages from OS package manager
  :buildhost:  install packages from OS package manager needed by buildhosts
update searx
  Update searx installation (/usr/local/searx)
activate service
  activate and start service daemon (systemd unit)
deactivate service
  stop and deactivate service daemon (systemd unit)
inspect service
  run some small tests and inspect service's status and log
  set one of the available options
  :install: apache site with the searx uwsgi app
  :remove:  apache site 

searx settings: /etc/searx/settings.yml

If needed, set PUBLIC_URL of your WEB service in the '.config.sh' file::
  PUBLIC_URL          : http://fv-az163-121/searx
  SEARX_INSTANCE_NAME : searx@fv-az163-121 
  SERVICE_USER        : searx