| 
									
										
										
										
											2016-07-15 18:41:05 +02:00
										 |  |  | .. _installation:
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-12-04 17:54:41 +01:00
										 |  |  | ============
 | 
					
						
							| 
									
										
										
										
											2015-11-17 23:13:30 +01:00
										 |  |  | Installation
 | 
					
						
							|  |  |  | ============
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-02 19:00:19 +01:00
										 |  |  | *You're spoilt for choice*, choose your preferred method of installation.
 | 
					
						
							| 
									
										
										
										
											2020-02-04 16:42:13 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-02 19:00:19 +01:00
										 |  |  | - :ref:`installation docker`
 | 
					
						
							| 
									
										
										
										
											2020-03-04 19:56:40 +01:00
										 |  |  | - :ref:`installation scripts`
 | 
					
						
							| 
									
										
										
										
											2020-03-02 19:00:19 +01:00
										 |  |  | - :ref:`installation basic`
 | 
					
						
							| 
									
										
										
										
											2020-02-04 16:42:13 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-02 19:00:19 +01:00
										 |  |  | The :ref:`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
 | 
					
						
							|  |  |  | :ref:`filtron reverse proxy <filtron.sh>` and for privacy a :ref:`result proxy
 | 
					
						
							|  |  |  | <morty.sh>` is mandatory.
 | 
					
						
							| 
									
										
										
										
											2020-02-04 16:42:13 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-02 19:00:19 +01:00
										 |  |  | Therefore, if you do not have any special preferences, its recommend to use the
 | 
					
						
							|  |  |  | :ref:`installation docker` or the `Installation scripts`_ from our :ref:`tooling
 | 
					
						
							|  |  |  | box <toolboxing>` as described below.
 | 
					
						
							| 
									
										
										
										
											2016-01-10 20:10:53 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-04 19:56:40 +01:00
										 |  |  | .. _installation scripts:
 | 
					
						
							| 
									
										
										
										
											2020-02-04 13:13:17 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-02 19:00:19 +01:00
										 |  |  | Installation scripts
 | 
					
						
							|  |  |  | ====================
 | 
					
						
							| 
									
										
										
										
											2015-11-17 23:13:30 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-04-28 14:44:28 +02:00
										 |  |  | .. sidebar:: Update OS first!
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    To avoid unwanted side effects, update your OS before installing searx.
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-02 19:00:19 +01:00
										 |  |  | The following will install a setup as shown in :ref:`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).
 | 
					
						
							| 
									
										
										
										
											2020-02-04 13:13:17 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-12-13 15:19:04 +01:00
										 |  |  | 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``.
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-02 19:00:19 +01:00
										 |  |  | .. code:: bash
 | 
					
						
							| 
									
										
										
										
											2020-02-04 13:13:17 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-04-09 15:04:23 +02:00
										 |  |  |    $ cd ~/Downloads
 | 
					
						
							| 
									
										
										
										
											2021-04-25 12:03:54 +02:00
										 |  |  |    $ git clone https://github.com/searxng/searxng.git searx
 | 
					
						
							| 
									
										
										
										
											2020-03-02 19:00:19 +01:00
										 |  |  |    $ cd searx
 | 
					
						
							| 
									
										
										
										
											2015-11-17 23:13:30 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-04-24 17:03:10 +02:00
										 |  |  | .. sidebar:: further read
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    - :ref:`toolboxing`
 | 
					
						
							|  |  |  |    - :ref:`update searx`
 | 
					
						
							|  |  |  |    - :ref:`inspect searx`
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-02 19:00:19 +01:00
										 |  |  | **Install** :ref:`searx service <searx.sh>`
 | 
					
						
							| 
									
										
										
										
											2015-11-17 23:13:30 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-02 19:00:19 +01:00
										 |  |  | This installs searx as described in :ref:`installation basic`.
 | 
					
						
							| 
									
										
										
										
											2015-11-17 23:13:30 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-02 19:00:19 +01:00
										 |  |  | .. code:: bash
 | 
					
						
							| 
									
										
										
										
											2015-11-17 23:13:30 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-02 19:00:19 +01:00
										 |  |  |    $ sudo -H ./utils/searx.sh install all
 | 
					
						
							| 
									
										
										
										
											2015-11-17 23:13:30 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-02 19:00:19 +01:00
										 |  |  | **Install** :ref:`filtron reverse proxy <filtron.sh>`
 | 
					
						
							| 
									
										
										
										
											2020-02-04 16:42:13 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-02 19:00:19 +01:00
										 |  |  | .. code:: bash
 | 
					
						
							| 
									
										
										
										
											2019-12-04 17:54:41 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-02 19:00:19 +01:00
										 |  |  |    $ sudo -H ./utils/filtron.sh install all
 | 
					
						
							| 
									
										
										
										
											2019-12-04 17:54:41 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-02 19:00:19 +01:00
										 |  |  | **Install** :ref:`result proxy <morty.sh>`
 | 
					
						
							| 
									
										
										
										
											2015-11-17 23:13:30 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-02 19:00:19 +01:00
										 |  |  | .. code:: bash
 | 
					
						
							| 
									
										
										
										
											2015-11-17 23:13:30 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-02 19:00:19 +01:00
										 |  |  |    $ sudo -H ./utils/morty.sh install all
 | 
					
						
							| 
									
										
										
										
											2020-04-06 17:59:06 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | If all services are running fine, you can add it to your HTTP server:
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-06-19 18:36:23 +02:00
										 |  |  | **Install** HTTP
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-04-06 17:59:06 +02:00
										 |  |  | - :ref:`installation apache`
 | 
					
						
							|  |  |  | - :ref:`installation nginx`
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-06-19 18:36:23 +02:00
										 |  |  | **Install** :ref:`external plugins <dev plugin>`
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Use searx's ``shell`` to install external plugins.  In the example below we
 | 
					
						
							|  |  |  | install the searx plugins from **The Green Web Foundation** `[ref]
 | 
					
						
							|  |  |  | <https://www.thegreenwebfoundation.org/news/searching-the-green-web-with-searx/>`__:
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .. code:: bash
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    $ sudo -H ./utils/searx.sh shell
 | 
					
						
							|  |  |  |    // exit with [CTRL-D]
 | 
					
						
							|  |  |  |    (searx-pyenv) searx@ryzen:~$ pip install git+https://github.com/return42/tgwf-searx-plugins
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | In the :ref:`settings.yml` activate the ``plugins:`` section and add module
 | 
					
						
							|  |  |  | ``only_show_green_results`` from tgwf-searx-plugins.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .. code:: yaml
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    plugins:
 | 
					
						
							|  |  |  |      - only_show_green_results
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-12-13 15:20:33 +01:00
										 |  |  | .. _git stash: https://git-scm.com/docs/git-stash
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .. tip::
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    About script's installation options have a look at chapter :ref:`toolboxing
 | 
					
						
							| 
									
										
										
										
											2020-12-21 00:37:45 +01:00
										 |  |  |    setup`.  How to brand your instance see chapter :ref:`settings global`.  To
 | 
					
						
							| 
									
										
										
										
											2020-06-19 18:36:23 +02:00
										 |  |  |    *stash* your instance's setup, `git stash`_ your clone's :origin:`.config.sh`
 | 
					
						
							|  |  |  |    file .
 |