searxng/docs/admin/installation.rst

2.4 KiB

Installation

You're spoilt for choice, choose your preferred method of installation.

  • installation docker
  • installation scripts
  • installation basic

The installation basic is good enough for intranet usage and it is a excellent illustration of how a searx instance is build up. If you place your instance public to the internet you should really consider to install a filtron reverse proxy <filtron.sh> and for privacy a result proxy <morty.sh> is mandatory.

Therefore, if you do not have any special preferences, its recommend to use the installation docker or the Installation scripts from our tooling box <toolboxing> as described below.

Installation scripts

Update OS first!

To avoid unwanted side effects, update your OS before installing searx.

The following will install a setup as shown in architecture. First you need to get a clone. The clone is only needed for the installation procedure and some maintenance tasks (alternatively you can create your own fork).

For the installation procedure, use a sudoer login to run the scripts. If you install from root, take into account that the scripts are creating a searx, a filtron and a morty user. In the installation procedure these new created users do need read access to the clone of searx, which is not the case if you clone into a folder below /root.

$ cd ~/Downloads
$ git clone https://github.com/searx/searx searx
$ cd searx

Install searx service <searx.sh>

This installs searx as described in installation basic.

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

Install filtron reverse proxy <filtron.sh>

$ sudo -H ./utils/filtron.sh install all

Install result proxy <morty.sh>

$ sudo -H ./utils/morty.sh install all

If all services are running fine, you can add it to your HTTP server:

  • installation apache
  • installation nginx

Tip

About script's installation options have a look at chapter toolboxing setup. How to brand your instance see chapter makefile setup. To stash your instance's setup, git stash your clone's Makefile and .config.sh file .