installation.rst 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. .. _installation:
  2. ============
  3. Installation
  4. ============
  5. .. sidebar:: info
  6. :ref:`installation switch2ng`
  7. *You're spoilt for choice*, choose your preferred method of installation.
  8. - :ref:`installation docker`
  9. - :ref:`installation scripts`
  10. - :ref:`installation basic`
  11. The :ref:`installation basic` is good enough for intranet usage and it is a
  12. excellent illustration of *how a SearXNG instance is build up*. If you place your
  13. instance public to the internet you should really consider to install a
  14. :ref:`filtron reverse proxy <filtron.sh>` and for privacy a :ref:`result proxy
  15. <morty.sh>` is mandatory.
  16. Therefore, if you do not have any special preferences, its recommend to use the
  17. :ref:`installation docker` or the `Installation scripts`_ from our :ref:`tooling
  18. box <toolboxing>` as described below.
  19. .. _installation scripts:
  20. Installation scripts
  21. ====================
  22. .. sidebar:: Update OS first!
  23. To avoid unwanted side effects, update your OS before installing SearXNG.
  24. The following will install a setup as shown in :ref:`architecture`. First you
  25. need to get a clone. The clone is only needed for the installation procedure
  26. and some maintenance tasks (alternatively you can create your own fork).
  27. For the installation procedure, use a *sudoer* login to run the scripts. If you
  28. install from ``root``, take into account that the scripts are creating a
  29. ``searx``, a ``filtron`` and a ``morty`` user. In the installation procedure
  30. these new created users do need read access to the clone of searx, which is not
  31. the case if you clone into a folder below ``/root``.
  32. .. code:: bash
  33. $ cd ~/Downloads
  34. $ git clone https://github.com/searxng/searxng.git searxng
  35. $ cd searxng
  36. .. sidebar:: further read
  37. - :ref:`toolboxing`
  38. - :ref:`update searxng`
  39. - :ref:`inspect searxng`
  40. **Install** :ref:`SearXNG service <searx.sh>`
  41. This installs SearXNG as described in :ref:`installation basic`.
  42. .. code:: bash
  43. $ sudo -H ./utils/searx.sh install all
  44. **Install** :ref:`filtron reverse proxy <filtron.sh>`
  45. .. code:: bash
  46. $ sudo -H ./utils/filtron.sh install all
  47. **Install** :ref:`result proxy <morty.sh>`
  48. .. code:: bash
  49. $ sudo -H ./utils/morty.sh install all
  50. If all services are running fine, you can add it to your HTTP server:
  51. **Install** HTTP
  52. - :ref:`installation apache`
  53. - :ref:`installation nginx`
  54. **Install** :ref:`external plugins <dev plugin>`
  55. Use SearXNG's ``shell`` to install external plugins. In the example below we
  56. install the SearXNG plugins from **The Green Web Foundation** `[ref]
  57. <https://www.thegreenwebfoundation.org/news/searching-the-green-web-with-searx/>`__:
  58. .. code:: bash
  59. $ sudo -H ./utils/searx.sh shell
  60. // exit with [CTRL-D]
  61. (searx-pyenv) searx@ryzen:~$ pip install git+https://github.com/return42/tgwf-searx-plugins
  62. In the :ref:`settings.yml` activate the ``plugins:`` section and add module
  63. ``only_show_green_results`` from tgwf-searx-plugins.
  64. .. code:: yaml
  65. plugins:
  66. - only_show_green_results
  67. .. _git stash: https://git-scm.com/docs/git-stash
  68. .. tip::
  69. About script's installation options have a look at chapter :ref:`toolboxing
  70. setup`. How to brand your instance see chapter :ref:`settings global`. To
  71. *stash* your instance's setup, `git stash`_ your clone's :origin:`.config.sh`
  72. file .