diff options
author | Markus Heiser <markus.heiser@darmarit.de> | 2021-06-29 20:08:10 +0200 |
---|---|---|
committer | Markus Heiser <markus.heiser@darmarit.de> | 2021-07-21 14:38:57 +0200 |
commit | f61c918dd4ea211f32874f1072ecfca0f39fcca4 (patch) | |
tree | 3acb0261274799b77a35ed9276d0a8f0cfcb90f3 /utils | |
parent | 2964a24b3d82651cfd9e30f2ba659bf0f5b2579a (diff) | |
download | searxng-f61c918dd4ea211f32874f1072ecfca0f39fcca4.tar.gz searxng-f61c918dd4ea211f32874f1072ecfca0f39fcca4.zip |
[mod] normalize .config.sh with settings.yml
In commit 94851790 we have centralized all SearXNG setups in the settings.yml
file:
94851790 [mod] move brand options from Makefile to settings.yml
This step has not yet been completed for the installation procedures! Since all
SearXNG setups are done in the settings.yml these environment variables needs to
be removed from the ./conf.sh file. Scripts and other tasks running outside of
an instance got the needed values from the ./utils/brand.env file.
By example: ATM the environment variables of the ./config.sh file are in
conflict with them from settings.yml:
- PUBLIC_URL --> {server:base_url}
- SEARX_INTERNAL_HTTP --> {server:bind_address}.{server:port}
- GIT_BRANCH --> {brand:GIT_URL}
These environment variable of a SearXNG instance and additional
- SEARX_SETTINGS_TEMPLATE
has been remove from the '.config.sh' file. With this patch, the main focus of
./conf.sh resists on environment variables needed for the installation of morty,
filtron software.
modified .config.sh:
- removed no longer supported variables (see above)
- add comment about: SearXNG setup in settings.yml
modified utils/searx.sh:
- SEARX_INTERNAL_HTTP no longer take from .config.sh
- SEARX_SETTINGS_PATH /etc/searx/settings.yml
- SEARX_SETTINGS_TEMPLATE obsolete
modified utils/lib_install.sh:
Initialize environment variables SEARX_PYENV, SEARX_SETTINGS_PATH and
PUBLIC_URL.
modified: utils/morty.sh
Add missing hint about SEARX_SETTINGS_PATH and move PUBLIC_URL to
utils/lib_install.sh
modified: utils/morty.sh
Move PUBLIC_URL to utils/lib_install.sh
Renamed utils/templates/etc/searx/use_default_settings.yml -> settings.yml
- removed option which can't be modified after installation
- add some comments with examples
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
Diffstat (limited to 'utils')
-rwxr-xr-x | utils/filtron.sh | 1 | ||||
-rwxr-xr-x | utils/lib_install.sh | 15 | ||||
-rwxr-xr-x | utils/morty.sh | 5 | ||||
-rwxr-xr-x | utils/searx.sh | 4 | ||||
-rw-r--r-- | utils/templates/etc/searx/settings.yml (renamed from utils/templates/etc/searx/use_default_settings.yml) | 40 |
5 files changed, 48 insertions, 17 deletions
diff --git a/utils/filtron.sh b/utils/filtron.sh index 7469cd801..dfd899096 100755 --- a/utils/filtron.sh +++ b/utils/filtron.sh @@ -11,7 +11,6 @@ source "${REPO_ROOT}/utils/lib_install.sh" # config # ---------------------------------------------------------------------------- -PUBLIC_URL="${PUBLIC_URL:-http://$(uname -n)/searx}" PUBLIC_HOST="${PUBLIC_HOST:-$(echo "$PUBLIC_URL" | sed -e 's/[^/]*\/\/\([^@]*@\)\?\([^:/]*\).*/\2/')}" FILTRON_URL_PATH="${FILTRON_URL_PATH:-$(echo "${PUBLIC_URL}" \ diff --git a/utils/lib_install.sh b/utils/lib_install.sh index 19d438c43..a8cb23ab2 100755 --- a/utils/lib_install.sh +++ b/utils/lib_install.sh @@ -52,6 +52,8 @@ source_dot_config() { if [ -z "$eval_SEARX_SRC" ]; then export eval_SEARX_SRC='true' SEARX_SRC=$("${REPO_ROOT}/utils/searx.sh" --getenv SEARX_SRC) + SEARX_PYENV=$("${REPO_ROOT}/utils/searx.sh" --getenv SEARX_PYENV) + SEARX_SETTINGS_PATH=$("${REPO_ROOT}/utils/searx.sh" --getenv SEARX_SETTINGS_PATH) if [ ! -r "${SEARX_SRC}" ]; then build_msg INSTANCE "not yet cloned: ${SEARX_SRC}" orig_source_dot_config @@ -114,6 +116,7 @@ install_log_searx_instance() { echo -e "---- SearXNG instance setup ${_BBlue}(status: $(install_searx_get_state))${_creset}" echo -e " SEARX_SETTINGS_PATH : ${_BBlue}${SEARX_SETTINGS_PATH}${_creset}" + echo -e " SSEARX_PYENV : ${_BBlue}${SEARX_PYENV}${_creset}" echo -e " SEARX_SRC : ${_BBlue}${SEARX_SRC:-none}${_creset}" echo -e " SEARX_URL : ${_BBlue}${SEARX_URL:-none}${_creset}" @@ -177,6 +180,18 @@ install_searx_get_state(){ # shellcheck source=utils/brand.env source "${REPO_ROOT}/utils/brand.env" +# SEARX_URL aka PUBLIC_URL: the public URL of the instance (e.g. +# "https://example.org/searx"). The value is taken from environment $SEARX_URL +# in ./utils/brand.env. This variable is a empty string if server.base_url in +# the settings.yml is set to 'false'. + +SEARX_URL="${SEARX_URL:-http://$(uname -n)}" +if in_container; then + # hint: Linux containers do not have DNS entries, lets use IPs + SEARX_URL="http://$(primary_ip)" +fi +PUBLIC_URL="${SEARX_URL}" + source_dot_config # shellcheck source=utils/lxc-searx.env diff --git a/utils/morty.sh b/utils/morty.sh index afda41d22..b473eeef4 100755 --- a/utils/morty.sh +++ b/utils/morty.sh @@ -110,8 +110,9 @@ EOF info_searx() { # shellcheck disable=SC1117 cat <<EOF -To activate result and image proxy in searx, edit settings.yml (read: -${DOCS_URL}/admin/morty.html):: +To activate result and image proxy in SearXNG read: + ${DOCS_URL}/admin/morty.html +Check settings in file ${SEARX_SETTINGS_PATH} ... result_proxy: url : ${PUBLIC_URL_MORTY} server: diff --git a/utils/searx.sh b/utils/searx.sh index c4750c6f3..e8c2720ec 100755 --- a/utils/searx.sh +++ b/utils/searx.sh @@ -12,7 +12,6 @@ source "${REPO_ROOT}/utils/lib_install.sh" # config # ---------------------------------------------------------------------------- -PUBLIC_URL="${PUBLIC_URL:-http://$(uname -n)/searx}" SEARX_INTERNAL_HTTP="${SEARX_BIND_ADDRESS}:${SEARX_PORT}" SEARX_URL_PATH="${SEARX_URL_PATH:-$(echo "${PUBLIC_URL}" \ @@ -29,8 +28,7 @@ SERVICE_GROUP="${SERVICE_USER}" GIT_BRANCH="${GIT_BRANCH:-master}" SEARX_PYENV="${SERVICE_HOME}/searx-pyenv" SEARX_SRC="${SERVICE_HOME}/searx-src" -SEARX_SETTINGS_PATH="${SEARX_SETTINGS_PATH:-/etc/searx/settings.yml}" -SEARX_SETTINGS_TEMPLATE="${SEARX_SETTINGS_TEMPLATE:-${REPO_ROOT}/utils/templates/etc/searx/use_default_settings.yml}" +SEARX_SETTINGS_PATH="/etc/searx/settings.yml" SEARX_UWSGI_APP="searx.ini" # shellcheck disable=SC2034 SEARX_UWSGI_SOCKET="/run/uwsgi/app/searx/socket" diff --git a/utils/templates/etc/searx/use_default_settings.yml b/utils/templates/etc/searx/settings.yml index 1e7530cdc..8fb29319f 100644 --- a/utils/templates/etc/searx/use_default_settings.yml +++ b/utils/templates/etc/searx/settings.yml @@ -1,9 +1,14 @@ +# SearXNG settings, before editing this file read: +# +# ${DOCS_URL}/admin/engines/settings.html + use_default_settings: true general: - debug: false # Debug mode, only for development - instance_name: "searxng" # displayed name - contact_url: false # mailto:contact@example.com + # Debug mode, only for development + debug: false + # change displayed name + # instance_name: "SearXNG" search: # Filter results. 0: None, 1: Moderate, 2: Strict @@ -11,24 +16,37 @@ search: # Existing autocomplete backends: "dbpedia", "duckduckgo", "google", # "startpage", "swisscows", "qwant", "wikipedia" - leave blank to turn it off # by default. - autocomplete: "" + autocomplete: '' # Default search language - leave blank to detect from browser information or # use codes from 'languages.py' - default_lang: "" + default_lang: '' # remove format to deny access, use lower case. formats: [html, csv, json, rss] server: - port: 8888 - # address to listen on - bind_address: "127.0.0.1" secret_key: "ultrasecretkey" # change this! - # Set custom base_url. Possible values: - # false or "https://your.custom.host/location/" - # base_url: https://example.org/searx # Proxying image results through searx image_proxy: false # result_proxy: # url: http://127.0.0.1:3000/ # key: !!binary "your_morty_proxy_key" + +# plugins: +# - only_show_green_results + +# engines: +# +# - name: duckduckgo +# disabled: false +# +# - name: fdroid +# disabled: false +# +# - name: apk mirror +# disabled: false +# +# - name: mediathekviewweb +# engine: mediathekviewweb +# shortcut: mvw +# categories: general |