Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit beff764d authored by Markus Heiser's avatar Markus Heiser Committed by GitHub
Browse files

Merge pull request #216 from return42/fix-searx.sh

normalize environment of installation tasks (shell) with YAML settings
parents 80f52413 e946c346
Loading
Loading
Loading
Loading
+25 −33
Original line number Diff line number Diff line
@@ -2,48 +2,40 @@
# SPDX-License-Identifier: AGPL-3.0-or-later
# shellcheck shell=bash disable=SC2034
#
# This environment is used by ./utils scripts like filtron.sh or searx.sh.  The
# default values are *most flexible* and *best maintained*, you normally not
# need to change the defaults (except PUBLIC_URL).
# This file should be edited only ones just before the installation of any
# service is done.  After the installation of the searx service a copy of this
# file is placed into the $SEARX_SRC of the instance, e.g.::
#
# Before you change any value here you have to uninstall any previous
# installation.  Further is it recommended to backup your changes simply by
# adding them to you local brand (git branch)::
#     /usr/local/searx/searx-src/.config.sh
#
#     git add .config

# The public URL of the searx instance: PUBLIC_URL="https://mydomain.xy/searx"
# The default is taken from ./utils/brand.env.

PUBLIC_URL="${SEARX_URL}"

if [[ ${PUBLIC_URL} == "https://searx.me" ]]; then
    # hint: Linux containers do not have DNS entries, lets use IPs
    PUBLIC_URL="http://$(primary_ip)/searx"
fi

# searx.sh
# ---------
# .. hint::
#
#    Before you change a value here, You have to fully uninstall any previous
#    installation of searx, morty and filtron services!

# SEARX_INTERNAL_HTTP="127.0.0.1:8888"
# SEARX_SETTINGS_TEMPLATE="${REPO_ROOT}/utils/templates/etc/searx/use_default_settings.yml"
# utils/searx.sh
# --------------

# Only change, if you maintain a searx brand in your searx fork (GIT_URL) which
# is not hold by branch 'master'.  The branch has to be a local branch, in the
# repository from which you install (which is most often the case).  If you want
# to install branch 'foo', don't forget to run 'git branch foo origin/foo' once.
# GIT_BRANCH="${GIT_BRANCH:-master}"
# The setup of the SearXNG instance is done in the settings.yml
# (SEARX_SETTINGS_PATH).  Read the remarks in [1] carefully and don't forget to
# rebuild instance's environment (make buildenv) if needed.  The settings.yml
# file of an already installed instance is shown by::
#
#     $ ./utils/searx.sh --help
#     ---- SearXNG instance setup (already installed)
#       SEARX_SETTINGS_PATH : /etc/searx/settings.yml
#       SEARX_SRC           : /usr/local/searx/searx-src
#
# [1] https://searxng.github.io/searxng/admin/engines/settings.html

# filtron.sh
# ----------
# utils/filtron.sh
# ----------------

# FILTRON_API="127.0.0.1:4005"
# FILTRON_LISTEN="127.0.0.1:4004"
# FILTRON_TARGET="127.0.0.1:8888"
# FILTRON_RULES_TEMPLATE="${REPO_ROOT}/utils/templates/etc/searx/use_default_settings.yml"

# morty.sh
# --------
# utils/morty.sh
# --------------

# morty listen address
# MORTY_LISTEN="127.0.0.1:3000"
+1 −0
Original line number Diff line number Diff line
@@ -63,6 +63,7 @@ test.shell:
		utils/brand.env \
		$(MTOOLS) \
		utils/lib.sh \
		utils/lib_install.sh \
		utils/lib_static.sh \
	        utils/filtron.sh \
	        utils/searx.sh \
+1 −1
Original line number Diff line number Diff line
@@ -87,7 +87,7 @@ HTML of the site. URL of the searx instance and values are customizable.

.. code:: html

   <form method="post" action="https://searx.me/">
   <form method="post" action="https://example.org/">
     <!-- search      --> <input type="text" name="q" />
     <!-- categories  --> <input type="hidden" name="categories" value="general,social media" />
     <!-- language    --> <input type="hidden" name="lang" value="all" />
+50 −23
Original line number Diff line number Diff line
@@ -37,15 +37,10 @@ see how you can simplify your *user defined* ``settings.yml``.
Global Settings
===============

``general:``
------------

.. code:: yaml
.. _settings global brand:

   general:
     debug: false               # Debug mode, only for development
     instance_name:  "searxng"  # displayed name
     contact_url: false         # mailto:contact@example.com
``brand:``
------------

.. code:: yaml

@@ -57,22 +52,47 @@ Global Settings
     public_instances: https://searx.space
     wiki_url: https://github.com/searxng/searxng/wiki

``debug`` :
  Allow a more detailed log if you run searx directly. Display *detailed* error
  messages in the browser too, so this must be deactivated in production.
.. sidebar::  buildenv

``contact_url``:
  Contact ``mailto:`` address or WEB form.
   Changing a value tagged by :ref:`buildenv <make buildenv>`, needs to
   rebuild instance's environment :ref:`utils/brand.env <make buildenv>`.

``git_url`` and ``git_branch``:
``git_url`` & ``git_branch`` : :ref:`buildenv GIT_URL & GIT_BRANCH <make buildenv>`
  Changes this, to point to your searx fork (branch).

``docs_url``
  If you host your own documentation, change this URL.
``issue_url`` :
  If you host your own issue tracker change this URL.

``docs_url`` :
  If you host your own documentation change this URL.

``public_instances`` :
  If you host your own https://searx.space change this URL.

``wiki_url`` :
  Link to your wiki (or ``false``)

.. _settings global general:

``general:``
------------

.. code:: yaml

   general:
     debug: false               # Debug mode, only for development
     instance_name:  "searxng"  # displayed name
     contact_url: false         # mailto:contact@example.com

``debug`` : ``$SEARX_DEBUG``
  Allow a more detailed log if you run searx directly. Display *detailed* error
  messages in the browser too, so this must be deactivated in production.

``contact_url``:
  Contact ``mailto:`` address or WEB form.


.. _settings global server:

``server:``
-----------
@@ -80,10 +100,10 @@ Global Settings
.. code:: yaml

   server:
       base_url: false                # set custom base_url (or false)
       port: 8888
       bind_address: "127.0.0.1"      # address to listen on
       secret_key: "ultrasecretkey"   # change this!
       base_url: false                # set custom base_url (or false)
       image_proxy: false             # proxying image results through searx
       default_locale: ""             # default interface locale
       default_theme: oscar           # ui theme
@@ -94,17 +114,24 @@ Global Settings
         X-Robots-Tag : noindex, nofollow
         Referrer-Policy : no-referrer

``port`` & ``bind_address``:
.. sidebar::  buildenv

   Changing a value tagged by :ref:`buildenv <make buildenv>`, needs to
   rebuild instance's environment :ref:`utils/brand.env <make buildenv>`.

``base_url`` : :ref:`buildenv SEARX_URL <make buildenv>`
  The base URL where searx is deployed.  Used to create correct inbound links.
  If you change the value, don't forget to rebuild instance's environment
  (:ref:`utils/brand.env <make buildenv>`)

``port`` & ``bind_address``: :ref:`buildenv SEARX_PORT & SEARX_BIND_ADDRESS <make buildenv>`
  Port number and *bind address* of the searx web application if you run it
  directly using ``python searx/webapp.py``.  Doesn't apply to searx running on
  Apache or Nginx.

``secret_key`` :
``secret_key`` : ``$SEARX_SECRET``
  Used for cryptography purpose.

``base_url`` :
  The base URL where searx is deployed.  Used to create correct inbound links.

``image_proxy`` :
  Allow your instance of searx of being able to proxy images.  Uses memory space.

+1 −1
Original line number Diff line number Diff line
@@ -94,7 +94,7 @@ For a *minimal setup*, configure like shown below – replace ``searx@$(uname

  .. group-tab:: Use default settings

    .. literalinclude:: ../../utils/templates/etc/searx/use_default_settings.yml
    .. literalinclude:: ../../utils/templates/etc/searx/settings.yml
       :language: yaml

  .. group-tab:: searx/settings.yml
Loading