Browse Source

doc: add descriptions of our tooling box in ./utils

Initial started with the scripts for searx, filtron and morty installations.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
Markus Heiser 5 years ago
parent
commit
94ac560dcc

+ 11 - 25
docs/admin/filtron.rst

@@ -1,14 +1,22 @@
+
+.. _searx_filtron:
+
 ==========================
 How to protect an instance
 ==========================
 
+.. sidebar:: further reading
+
+   - :ref:`filtron.sh`
+
 .. _filtron: https://github.com/asciimoo/filtron
 
 Searx depens on external search services.  To avoid the abuse of these services
 it is advised to limit the number of requests processed by searx.
 
 An application firewall, filtron_ solves exactly this problem.  Filtron is just
-a middleware between your web server (nginx, apache, ...) and searx.
+a middleware between your web server (nginx, apache, ...) and searx, we describe
+such infratructures in chapter: :ref:`architecture`.
 
 
 filtron & go
@@ -17,32 +25,10 @@ filtron & go
 .. _Go: https://golang.org/
 .. _filtron README: https://github.com/asciimoo/filtron/blob/master/README.md
 
-
-.. sidebar:: init system
-
-   ATM the ``filtron.sh`` supports only systemd init process used by debian,
-   ubuntu and many other dists.  If you have a working init.d file to start/stop
-   filtron service, please contribute.
-
 Filtron needs Go_ installed.  If Go_ is preinstalled, filtron_ is simply
 installed by ``go get`` package management (see `filtron README`_).  If you use
-filtron as middleware, a more isolated setup is recommended.
-
-#. Create a separated user account (``filtron``).
-#. Download and install Go_ binary in users $HOME (``~filtron``).
-#. Install filtron with the package management of 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``).
-
-To simplify such a installation and the maintenance of; use our script
-``utils/filtron.sh``:
-
-.. program-output:: ../utils/filtron.sh --help
-   :ellipsis: 0,5
+filtron as middleware, a more isolated setup is recommended.  To simplify such
+an installation and the maintenance of, use our script :ref:`filtron.sh`.
 
 
 Sample configuration of filtron

+ 3 - 0
docs/admin/morty.rst

@@ -1,3 +1,6 @@
+
+.. _searx_morty:
+
 =========================
 How to setup result proxy
 =========================

+ 1 - 0
docs/index.rst

@@ -29,4 +29,5 @@ don't trust anyone, you can set up your own, see :ref:`installation`.
    user/index
    admin/index
    dev/index
+   utils/index
    blog/index

+ 44 - 0
docs/utils/filtron.sh.rst

@@ -0,0 +1,44 @@
+
+.. _filtron.sh:
+
+====================
+``utils/filtron.sh``
+====================
+
+.. sidebar:: further reading
+
+   - :ref:`searx_filtron`
+
+.. _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 users $HOME (``~filtron``).
+#. Install filtron with the package management of 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``).
+
+
+Overview
+========
+
+The ``--help`` output of the script is largely self-explanatory:
+
+.. program-output:: ../utils/filtron.sh --help
+

+ 23 - 0
docs/utils/index.rst

@@ -0,0 +1,23 @@
+
+.. _searx_utils:
+
+======================
+Tooling box ``utils/``
+======================
+
+In the folder :origin:`utils/` we maintain some tools useful for admins and
+developers.
+
+.. toctree::
+   :maxdepth: 1
+
+   searx.sh
+   filtron.sh
+   morty.sh
+
+.. hint::
+
+   ATM :ref:`filtron.sh` and :ref:`searx.sh` do supports only systemd init
+   process used by debian, ubuntu and many other dists.  If you have working
+   init.d files to start/stop services, please contribute / thanks!
+

+ 31 - 0
docs/utils/morty.sh.rst

@@ -0,0 +1,31 @@
+
+.. _morty.sh:
+
+.. _morty: https://github.com/asciimoo/morty
+.. _morty's README: https://github.com/asciimoo/morty
+
+==================
+``utils/morty.sh``
+==================
+
+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.
+
+.. hint::
+
+   To add morty to your searx instance read chapter :reF:`searx_morty`.
+
+
+The ``--help`` output of the script is largely
+self-explanatory:
+
+.. program-output:: ../utils/morty.sh --help
+

+ 21 - 0
docs/utils/searx.sh.rst

@@ -0,0 +1,21 @@
+
+.. _searx.sh:
+
+==================
+``utils/searx.sh``
+==================
+
+To simplify installation and maintenance of a searx instance you can use the
+script :origin:`utils/searx.sh`.  In most cases you will install searx simply by
+running the command:
+
+.. code::  bash
+
+   sudo -H ./utils/searx.sh install all
+
+The script adds a ``${SERVICE_USER}`` (default:``searx``) and installs searx
+into this user account.  The ``--help`` output of the script is largely
+self-explanatory:
+
+.. program-output:: ../utils/searx.sh --help
+

+ 1 - 0
utils/filtron.sh

@@ -89,6 +89,7 @@ If needed, set PUBLIC_URL of your WEB service in the '${DOT_CONFIG#"$REPO_ROOT/"
 
   PUBLIC_URL   : ${PUBLIC_URL}
   PUBLIC_HOST  : ${PUBLIC_HOST}
+  SERVICE_USER : ${SERVICE_USER}
 
 EOF
     [ ! -z ${1+x} ] &&  echo -e "$1"

+ 4 - 1
utils/lib.sh

@@ -97,7 +97,10 @@ set_terminal_colors() {
     _BPurple='\e[1;35m'
     _BCyan='\e[1;36m'
 }
-set_terminal_colors
+
+if [ ! -p /dev/stdout ]; then
+    set_terminal_colors
+fi
 
 # reST
 # ----

+ 1 - 0
utils/morty.sh

@@ -77,6 +77,7 @@ If needed, set the environment variable MORTY_LISTEN in the
 ${DOT_CONFIG#"$REPO_ROOT/"} file::
 
   MORTY_LISTEN :   ${MORTY_LISTEN}
+  SERVICE_USER : ${SERVICE_USER}
 
 To activate morty in searx, add result_proxy to your settings.yml::
 

+ 1 - 0
utils/searx.sh

@@ -104,6 +104,7 @@ If needed, set PUBLIC_URL of your WEB service in the '${DOT_CONFIG#"$REPO_ROOT/"
   PUBLIC_URL          : ${PUBLIC_URL}
   PUBLIC_HOST         : ${PUBLIC_HOST}
   SEARX_INSTANCE_NAME : ${SEARX_INSTANCE_NAME}
+  SERVICE_USER        : ${SERVICE_USER}
 
 EOF
     [ ! -z ${1+x} ] &&  echo -e "$1"