diff options
| author | Markus Heiser <markus.heiser@darmarIT.de> | 2022-07-30 13:45:12 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-07-30 13:45:12 +0200 |
| commit | 645c2a2ca1cf40ab9429366ac70c69d1ac8fd004 (patch) | |
| tree | 943270e4998815d360713e21615082293300c877 /docs/utils | |
| parent | 0cf5310933ee4f6bff4a941f7296686bd671671f (diff) | |
| parent | e5323b8aa285d61bf011bbe7ca8f02818f19ed79 (diff) | |
Merge pull request #1332 from return42/searxng-install
Upgrade installation scripts and documentation
Diffstat (limited to 'docs/utils')
| -rw-r--r-- | docs/utils/filtron.sh.rst | 80 | ||||
| -rw-r--r-- | docs/utils/index.rst | 48 | ||||
| -rw-r--r-- | docs/utils/lxc.sh.rst | 52 | ||||
| -rw-r--r-- | docs/utils/morty.sh.rst | 80 | ||||
| -rw-r--r-- | docs/utils/searx.sh.rst | 39 | ||||
| -rw-r--r-- | docs/utils/searxng.sh.rst | 36 |
6 files changed, 74 insertions, 261 deletions
diff --git a/docs/utils/filtron.sh.rst b/docs/utils/filtron.sh.rst deleted file mode 100644 index 1f7302392..000000000 --- a/docs/utils/filtron.sh.rst +++ /dev/null @@ -1,80 +0,0 @@ - -.. _filtron.sh: - -==================== -``utils/filtron.sh`` -==================== - -.. sidebar:: further reading - - - :ref:`searxng filtron` - - :ref:`architecture` - - :ref:`installation` (:ref:`nginx <installation nginx>` & :ref:`apache - <installation apache>`) - -.. _Go: https://golang.org/ -.. _filtron: https://github.com/searxng/filtron -.. _filtron README: https://github.com/searxng/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/searxng/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 -=========== - -.. kernel-include:: $DOCS_BUILD/includes/filtron.rst - :start-after: START create user - :end-before: END create user - - -Install go -========== - -.. kernel-include:: $DOCS_BUILD/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: - -.. kernel-include:: $DOCS_BUILD/includes/filtron.rst - :start-after: START install filtron - :end-before: END install filtron - -.. kernel-include:: $DOCS_BUILD/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 diff --git a/docs/utils/index.rst b/docs/utils/index.rst index 2077bbb13..2da26ed12 100644 --- a/docs/utils/index.rst +++ b/docs/utils/index.rst @@ -1,52 +1,30 @@ .. _searx_utils: .. _toolboxing: -=================== -Admin's tooling box -=================== +================== +DevOps tooling box +================== -In the folder :origin:`utils/` we maintain some tools useful for administrators. +In the folder :origin:`utils/` we maintain some tools useful for administrators +and developers. .. toctree:: :maxdepth: 2 :caption: Contents - searx.sh - filtron.sh - morty.sh + searxng.sh lxc.sh -.. _toolboxing common: +Common command environments +=========================== -Common commands & environment -============================= - -Scripts to maintain services often dispose of common commands and environments. - -``shell`` : command - Opens a shell from the service user ``${SERVICE_USSR}``, very helpful for - troubleshooting. - -``inspect service`` : command - Shows status and log of the service, most often you have a option to enable - more verbose debug logs. Very helpful for debugging, but be careful not to - enable debugging in a production environment! +The scripts in our tooling box often dispose of common environments: ``FORCE_TIMEOUT`` : environment Sets timeout for interactive prompts. If you want to run a script in batch job, with defaults choices, set ``FORCE_TIMEOUT=0``. By example; to install a - reverse proxy for filtron on all containers of the :ref:`SearXNG suite - <lxc-searx.env>` use :: - - sudo -H ./utils/lxc.sh cmd -- FORCE_TIMEOUT=0 ./utils/filtron.sh apache install - -.. _toolboxing setup: - -Tooling box setup -================= - -The main setup is done in the :origin:`.config.sh` (read also :ref:`settings -global`). + SearXNG server and nginx proxy on all containers of the :ref:`SearXNG suite + <lxc-searxng.env>` use:: -.. literalinclude:: ../../.config.sh - :language: bash + sudo -H ./utils/lxc.sh cmd -- FORCE_TIMEOUT=0 ./utils/searxng.sh install all + sudo -H ./utils/lxc.sh cmd -- FORCE_TIMEOUT=0 ./utils/searxng.sh install nginx diff --git a/docs/utils/lxc.sh.rst b/docs/utils/lxc.sh.rst index f09b033f4..4308a12cc 100644 --- a/docs/utils/lxc.sh.rst +++ b/docs/utils/lxc.sh.rst @@ -23,7 +23,7 @@ With the use of *Linux Containers* (LXC_) we can scale our tasks over a stack of containers, what we call the: *lxc suite*. The *SearXNG suite* -(:origin:`lxc-searx.env <utils/lxc-searx.env>`) is loaded by default, every time +(:origin:`lxc-searxng.env <utils/lxc-searxng.env>`) is loaded by default, every time you start the ``lxc.sh`` script (*you do not need to care about*). Before you can start with containers, you need to install and initiate LXD_ @@ -49,7 +49,7 @@ help>`. If you do not want to build all containers, **you can build just one**:: - $ sudo -H ./utils/lxc.sh build searx-ubu1804 + $ sudo -H ./utils/lxc.sh build searxng-archlinux *Good to know ...* @@ -62,9 +62,9 @@ of:: In the containers, you can run what ever you want, e.g. to start a bash use:: - $ sudo -H ./utils/lxc.sh cmd searx-ubu1804 bash - INFO: [searx-ubu1804] bash - root@searx-ubu1804:/share/searx# + $ sudo -H ./utils/lxc.sh cmd searxng-archlinux bash + INFO: [searxng-archlinux] bash + [root@searxng-archlinux SearXNG]# If there comes the time you want to **get rid off all** the containers and **clean up local images** just type:: @@ -121,28 +121,26 @@ Install suite ============= To install the complete :ref:`SearXNG suite (includes searx, morty & filtron) -<lxc-searx.env>` into all LXC_ use:: +<lxc-searxng.env>` into all LXC_ use:: $ sudo -H ./utils/lxc.sh install suite -The command above installs a SearXNG suite (see :ref:`installation scripts`). To -get the IP (URL) of the filtron service in the containers use ``show suite`` +The command above installs a SearXNG suite (see :ref:`installation scripts`). +To :ref:`install a nginx <installation nginx>` reverse proxy (or alternatively +use :ref:`apache <installation apache>`):: + + sudo -H ./utils/lxc.sh cmd -- FORCE_TIMEOUT=0 ./utils/searxng.sh install nginx + +To get the IP (URL) of the SearXNG service in the containers use ``show suite`` command. To test instances from containers just open the URLs in your WEB-Browser:: - $ sudo ./utils/lxc.sh show suite | grep filtron - [searx-ubu1604] INFO: (eth0) filtron: http://n.n.n.246:4004/ http://n.n.n.246/searx - [searx-ubu1804] INFO: (eth0) filtron: http://n.n.n.147:4004/ http://n.n.n.147/searx - [searx-ubu1910] INFO: (eth0) filtron: http://n.n.n.140:4004/ http://n.n.n.140/searx - [searx-ubu2004] INFO: (eth0) filtron: http://n.n.n.18:4004/ http://n.n.n.18/searx - [searx-fedora31] INFO: (eth0) filtron: http://n.n.n.46:4004/ http://n.n.n.46/searx - [searx-archlinux] INFO: (eth0) filtron: http://n.n.n.32:4004/ http://n.n.n.32/searx - -To :ref:`install a nginx <installation nginx>` reverse proxy for filtron and -morty use (or alternatively use :ref:`apache <installation apache>`):: + $ sudo ./utils/lxc.sh show suite | grep SEARXNG_URL - sudo -H ./utils/lxc.sh cmd -- FORCE_TIMEOUT=0 ./utils/filtron.sh nginx install - sudo -H ./utils/lxc.sh cmd -- FORCE_TIMEOUT=0 ./utils/morty.sh nginx install + [searxng-ubu2110] SEARXNG_URL : http://n.n.n.147/searxng + [searxng-ubu2004] SEARXNG_URL : http://n.n.n.246/searxng + [searxnggfedora35] SEARXNG_URL : http://n.n.n.140/searxng + [searxng-archlinux] SEARXNG_URL : http://n.n.n.165/searxng Running commands @@ -152,8 +150,8 @@ Running commands :ref:`toolboxing`. By example: to setup a :ref:`buildhosts` and run the Makefile target ``test`` in the archlinux_ container:: - sudo -H ./utils/lxc.sh cmd searx-archlinux ./utils/searx.sh install buildhost - sudo -H ./utils/lxc.sh cmd searx-archlinux make test + sudo -H ./utils/lxc.sh cmd searxng-archlinux ./utils/searxng.sh install buildhost + sudo -H ./utils/lxc.sh cmd searxng-archlinux make test Setup SearXNG buildhost @@ -164,11 +162,11 @@ The installation procedure to set up a :ref:`build host<buildhosts>` takes its time. Installation in all containers will take more time (time for another cup of coffee).:: - sudo -H ./utils/lxc.sh cmd -- ./utils/searx.sh install buildhost + sudo -H ./utils/lxc.sh cmd -- ./utils/searxng.sh install buildhost To build (live) documentation inside a archlinux_ container:: - sudo -H ./utils/lxc.sh cmd searx-archlinux make docs.clean docs.live + sudo -H ./utils/lxc.sh cmd searxng-archlinux make docs.clean docs.live ... [I 200331 15:00:42 server:296] Serving on http://0.0.0.0:8080 @@ -176,7 +174,7 @@ To get IP of the container and the port number *live docs* is listening:: $ sudo ./utils/lxc.sh show suite | grep docs.live ... - [searx-archlinux] INFO: (eth0) docs.live: http://n.n.n.12:8080/ + [searxng-archlinux] INFO: (eth0) docs.live: http://n.n.n.12:8080/ .. _lxc.sh help: @@ -189,10 +187,10 @@ The ``--help`` output of the script is largely self-explanatory: .. program-output:: ../utils/lxc.sh --help -.. _lxc-searx.env: +.. _lxc-searxng.env: SearXNG suite ============= -.. literalinclude:: ../../utils/lxc-searx.env +.. literalinclude:: ../../utils/lxc-searxng.env :language: bash diff --git a/docs/utils/morty.sh.rst b/docs/utils/morty.sh.rst deleted file mode 100644 index 99103b1cb..000000000 --- a/docs/utils/morty.sh.rst +++ /dev/null @@ -1,80 +0,0 @@ - -.. _morty: https://github.com/asciimoo/morty -.. _morty's README: https://github.com/asciimoo/morty -.. _Go: https://golang.org/ - -.. _morty.sh: - -================== -``utils/morty.sh`` -================== - -.. sidebar:: further reading - - - :ref:`architecture` - - :ref:`installation` (:ref:`nginx <installation nginx>` & :ref:`apache - <installation apache>`) - - :ref:`searxng morty` - -To simplify installation and maintenance of a morty_ instance you can use the -script :origin:`utils/morty.sh`. In most cases you will install morty_ simply by -running the command: - -.. code:: bash - - sudo -H ./utils/morty.sh install all - -The script adds a ``${SERVICE_USER}`` (default:``morty``) and installs morty_ -into this user account: - -#. Create a separated user account (``morty``). -#. Download and install Go_ binary in user's $HOME (``~morty``). -#. Install morty_ with the package management from Go_ (``go get -v -u - github.com/asciimoo/morty``) -#. Setup a systemd service unit :origin:`[ref] - <utils/templates/lib/systemd/system/morty.service>` - (``/lib/systemd/system/morty.service``). - -.. hint:: - - To add morty to your SearXNG instance read chapter :ref:`searxng morty`. - -Create user -=========== - -.. kernel-include:: $DOCS_BUILD/includes/morty.rst - :start-after: START create user - :end-before: END create user - - -Install go -========== - -.. kernel-include:: $DOCS_BUILD/includes/morty.rst - :start-after: START install go - :end-before: END install go - - -Install morty -============= - -Install morty software and systemd unit: - -.. kernel-include:: $DOCS_BUILD/includes/morty.rst - :start-after: START install morty - :end-before: END install morty - -.. kernel-include:: $DOCS_BUILD/includes/morty.rst - :start-after: START install systemd unit - :end-before: END install systemd unit - -.. _morty.sh overview: - -Overview -======== - -The ``--help`` output of the script is largely self-explanatory -(:ref:`toolboxing common`): - -.. program-output:: ../utils/morty.sh --help - diff --git a/docs/utils/searx.sh.rst b/docs/utils/searx.sh.rst deleted file mode 100644 index 6d412d23d..000000000 --- a/docs/utils/searx.sh.rst +++ /dev/null @@ -1,39 +0,0 @@ - -.. _searx.sh: - -================== -``utils/searx.sh`` -================== - -.. sidebar:: further reading - - - :ref:`architecture` - - :ref:`installation` - - :ref:`installation nginx` - - :ref:`installation apache` - -To simplify installation and maintenance of a SearXNG instance you can use the -script :origin:`utils/searx.sh`. - -Install -======= - -In most cases you will install SearXNG simply by running the command: - -.. code:: bash - - sudo -H ./utils/searx.sh install all - -The script adds a ``${SERVICE_USER}`` (default:``searx``) and installs SearXNG -into this user account. The installation is described in chapter -:ref:`installation basic`. - -.. _intranet reverse proxy: - -Overview -======== - -The ``--help`` output of the script is largely self-explanatory -(:ref:`toolboxing common`): - -.. program-output:: ../utils/searx.sh --help diff --git a/docs/utils/searxng.sh.rst b/docs/utils/searxng.sh.rst new file mode 100644 index 000000000..f6578f7b1 --- /dev/null +++ b/docs/utils/searxng.sh.rst @@ -0,0 +1,36 @@ + +.. _searxng.sh: + +==================== +``utils/searxng.sh`` +==================== + +.. sidebar:: further reading + + - :ref:`architecture` + - :ref:`installation` + - :ref:`installation nginx` + - :ref:`installation apache` + +To simplify the installation and maintenance of a SearXNG instance you can use the +script :origin:`utils/searxng.sh`. + +Install +======= + +In most cases you will install SearXNG simply by running the command: + +.. code:: bash + + sudo -H ./utils/searx.sh install all + +The installation is described in chapter :ref:`installation basic`. + +.. _searxng.sh overview: + +Overview +======== + +The ``--help`` output of the script is largely self-explanatory: + +.. program-output:: ../utils/searxng.sh --help |