utils/searx.sh

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

Install

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.

Overview

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

usage::
  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]

shell
  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/searx/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
option
  set one of the available options
apache
  :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://10.1.0.4/searx
  SEARX_INSTANCE_NAME : searx@10.1.0.4 
  SERVICE_USER        : searx
  SEARX_INTERNAL_HTTP : http://127.0.0.1:8888