| 
							
							.. _installation basic:
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							=========================
 | 
						
						
						
						
							 | 
							
							Step by step installation
 | 
						
						
						
						
							 | 
							
							=========================
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							.. contents::
 | 
						
						
						
						
							 | 
							
							   :depth: 2
 | 
						
						
						
						
							 | 
							
							   :local:
 | 
						
						
						
						
							 | 
							
							   :backlinks: entry
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							In this section we show the setup of a SearXNG instance that will be installed
 | 
						
						
						
						
							 | 
							
							by the :ref:`installation scripts`.
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							.. _install packages:
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							Install packages
 | 
						
						
						
						
							 | 
							
							================
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							.. kernel-include:: $DOCS_BUILD/includes/searxng.rst
 | 
						
						
						
						
							 | 
							
							   :start-after: START distro-packages
 | 
						
						
						
						
							 | 
							
							   :end-before: END distro-packages
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							.. hint::
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							   This installs also the packages needed by :ref:`searxng uwsgi`
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							.. _create searxng user:
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							Create user
 | 
						
						
						
						
							 | 
							
							===========
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							.. kernel-include:: $DOCS_BUILD/includes/searxng.rst
 | 
						
						
						
						
							 | 
							
							   :start-after: START create user
 | 
						
						
						
						
							 | 
							
							   :end-before: END create user
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							.. _searxng-src:
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							Install SearXNG & dependencies
 | 
						
						
						
						
							 | 
							
							==============================
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							Start a interactive shell from new created user and clone SearXNG:
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							.. kernel-include:: $DOCS_BUILD/includes/searxng.rst
 | 
						
						
						
						
							 | 
							
							   :start-after: START clone searxng
 | 
						
						
						
						
							 | 
							
							   :end-before: END clone searxng
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							In the same shell create *virtualenv*:
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							.. kernel-include:: $DOCS_BUILD/includes/searxng.rst
 | 
						
						
						
						
							 | 
							
							   :start-after: START create virtualenv
 | 
						
						
						
						
							 | 
							
							   :end-before: END create virtualenv
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							To install SearXNG's dependencies, exit the SearXNG *bash* session you opened above
 | 
						
						
						
						
							 | 
							
							and start a new one.  Before installing, check if your *virtualenv* was sourced
 | 
						
						
						
						
							 | 
							
							from the login (*~/.profile*):
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							.. kernel-include:: $DOCS_BUILD/includes/searxng.rst
 | 
						
						
						
						
							 | 
							
							   :start-after: START manage.sh update_packages
 | 
						
						
						
						
							 | 
							
							   :end-before: END manage.sh update_packages
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							.. tip::
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							   Open a second terminal for the configuration tasks and leave the ``(searx)$``
 | 
						
						
						
						
							 | 
							
							   terminal open for the tasks below.
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							.. _use_default_settings.yml:
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							Configuration
 | 
						
						
						
						
							 | 
							
							=============
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							.. sidebar:: ``use_default_settings: True``
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							   - :ref:`settings.yml`
 | 
						
						
						
						
							 | 
							
							   - :ref:`settings location`
 | 
						
						
						
						
							 | 
							
							   - :ref:`settings use_default_settings`
 | 
						
						
						
						
							 | 
							
							   - :origin:`/etc/searxng/settings.yml <utils/templates/etc/searxng/settings.yml>`
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							To create a initial ``/etc/searxng/settings.yml`` we recommend to start with a
 | 
						
						
						
						
							 | 
							
							copy of the file :origin:`utils/templates/etc/searxng/settings.yml`.  This setup
 | 
						
						
						
						
							 | 
							
							:ref:`use default settings <settings use_default_settings>` from
 | 
						
						
						
						
							 | 
							
							:origin:`searx/settings.yml` and is shown in the tab *"Use default settings"*
 | 
						
						
						
						
							 | 
							
							below. This setup:
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							- enables :ref:`limiter <limiter>` to protect against bots
 | 
						
						
						
						
							 | 
							
							- enables :ref:`image proxy <image_proxy>` for better privacy
 | 
						
						
						
						
							 | 
							
							- enables :ref:`cache busting <static_use_hash>` to save bandwidth
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							Modify the ``/etc/searxng/settings.yml`` to your needs:
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							.. tabs::
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							  .. group-tab:: Use default settings
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							     .. literalinclude:: ../../utils/templates/etc/searxng/settings.yml
 | 
						
						
						
						
							 | 
							
							        :language: yaml
 | 
						
						
						
						
							 | 
							
							        :end-before: # hostnames:
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							     To see the entire file jump to :origin:`utils/templates/etc/searxng/settings.yml`
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							  .. group-tab:: searx/settings.yml
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							     .. literalinclude:: ../../searx/settings.yml
 | 
						
						
						
						
							 | 
							
							        :language: yaml
 | 
						
						
						
						
							 | 
							
							        :end-before: # hostnames:
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							     To see the entire file jump to :origin:`searx/settings.yml`
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							For a *minimal setup* you need to set ``server:secret_key``.
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							.. kernel-include:: $DOCS_BUILD/includes/searxng.rst
 | 
						
						
						
						
							 | 
							
							   :start-after: START searxng config
 | 
						
						
						
						
							 | 
							
							   :end-before: END searxng config
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							Check
 | 
						
						
						
						
							 | 
							
							=====
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							To check your SearXNG setup, optional enable debugging and start the *webapp*.
 | 
						
						
						
						
							 | 
							
							SearXNG looks at the exported environment ``$SEARXNG_SETTINGS_PATH`` for a
 | 
						
						
						
						
							 | 
							
							configuration file.
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							.. kernel-include:: $DOCS_BUILD/includes/searxng.rst
 | 
						
						
						
						
							 | 
							
							   :start-after: START check searxng installation
 | 
						
						
						
						
							 | 
							
							   :end-before: END check searxng installation
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							If everything works fine, hit ``[CTRL-C]`` to stop the *webapp* and disable the
 | 
						
						
						
						
							 | 
							
							debug option in ``settings.yml``. You can now exit SearXNG user bash session (enter exit
 | 
						
						
						
						
							 | 
							
							command twice).  At this point SearXNG is not demonized; uwsgi allows this.
 | 
						
						
						
						
							 | 
							
							
 |