forked from zaclys/searxng
		
	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>
This commit is contained in:
		
							parent
							
								
									e7401796f6
								
							
						
					
					
						commit
						94ac560dcc
					
				
					 11 changed files with 141 additions and 26 deletions
				
			
		|  | @ -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 | ||||
|  |  | |||
|  | @ -1,3 +1,6 @@ | |||
| 
 | ||||
| .. _searx_morty: | ||||
| 
 | ||||
| ========================= | ||||
| How to setup result proxy | ||||
| ========================= | ||||
|  |  | |||
|  | @ -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
									
								
								docs/utils/filtron.sh.rst
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								docs/utils/filtron.sh.rst
									
										
									
									
									
										Normal file
									
								
							|  | @ -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
									
								
								docs/utils/index.rst
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								docs/utils/index.rst
									
										
									
									
									
										Normal file
									
								
							|  | @ -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
									
								
								docs/utils/morty.sh.rst
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								docs/utils/morty.sh.rst
									
										
									
									
									
										Normal file
									
								
							|  | @ -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
									
								
								docs/utils/searx.sh.rst
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								docs/utils/searx.sh.rst
									
										
									
									
									
										Normal file
									
								
							|  | @ -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 | ||||
| 
 | ||||
|  | @ -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" | ||||
|  |  | |||
|  | @ -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 | ||||
| # ---- | ||||
|  |  | |||
|  | @ -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:: | ||||
| 
 | ||||
|  |  | |||
|  | @ -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" | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Markus Heiser
						Markus Heiser