searxng/docs/utils/filtron.sh.rst

108 lines
2.6 KiB
ReStructuredText

.. _filtron.sh:
====================
``utils/filtron.sh``
====================
.. sidebar:: further reading
- :ref:`installation`
- :ref:`searx filtron`
- :ref:`architecture`
.. _Go: https://golang.org/
.. _filtron: https://github.com/asciimoo/filtron
.. _filtron README: https://github.com/asciimoo/filtron/blob/master/README.md
To simplify installation and maintenance of a filtron instance you can use the
script :origin:`utils/filtron.sh`. In most cases you will install filtron_
simply by running the command:
.. code:: bash
sudo -H ./utils/filtron.sh install all
The script adds a ``${SERVICE_USER}`` (default:``filtron``) and installs filtron_
into this user account:
#. Create a separated user account (``filtron``).
#. Download and install Go_ binary in user's $HOME (``~filtron``).
#. Install filtron with the package management from Go_ (``go get -v -u
github.com/asciimoo/filtron``)
#. Setup a proper rule configuration :origin:`[ref]
<utils/templates/etc/filtron/rules.json>` (``/etc/filtron/rules.json``).
#. Setup a systemd service unit :origin:`[ref]
<utils/templates/lib/systemd/system/filtron.service>`
(``/lib/systemd/system/filtron.service``).
Create user
===========
.. include:: ../../build/docs/includes/filtron.rst
:start-after: START create user
:end-before: END create user
Install go
==========
.. include:: ../../build/docs/includes/filtron.rst
:start-after: START install go
:end-before: END install go
Install filtron
===============
Install :origin:`rules.json <utils/templates/etc/filtron/rules.json>` at
``/etc/filtron/rules.json`` (see :ref:`Sample configuration of filtron`) and
install filtron software and systemd unit:
.. include:: ../../build/docs/includes/filtron.rst
:start-after: START install filtron
:end-before: END install filtron
.. include:: ../../build/docs/includes/filtron.rst
:start-after: START install systemd unit
:end-before: END install systemd unit
.. _filtron.sh overview:
Overview
========
The ``--help`` output of the script is largely self-explanatory
(:ref:`toolboxing common`):
.. program-output:: ../utils/filtron.sh --help
.. _reverse proxy:
Public Reverse Proxy
====================
To install searx in your public HTTP server use:
.. code:: bash
sudo -H ./utils/filtron.sh apache install
.. tabs::
.. group-tab:: apache
.. literalinclude:: ../../utils/templates/etc/apache2/sites-available/searx.conf:filtron
:language: apache
.. tabs::
.. group-tab:: Ubuntu / debian
.. code-block:: sh
$ sudo -H a2enmod headers
$ sudo -H a2enmod proxy
$ sudo -H a2enmod proxy_http