From 2964a24b3d82651cfd9e30f2ba659bf0f5b2579a Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Tue, 29 Jun 2021 19:46:06 +0200 Subject: [fix] utils/build_env.py and add documentation modified docs/admin/engines/settings.rst - Fix documentation and add section 'brand'. - Add remarks about **buildenv** variables. - Add remarks about settings from environment variables $SEARX_DEBUG, $SEARX_PORT, $SEARX_BIND_ADDRESS and $SEARX_SECRET modified docs/admin/installation-searx.rst & docs/build-templates/searx.rst Fix template location /templates/etc/searx/settings.yml modified docs/dev/makefile.rst Add description of the 'make buildenv' target and describe - we have all SearXNG setups are centralized in the settings.yml file - why some tasks need a utils/brand.env (aka instance's buildenv) modified manage Settings file from repository's working tree are used by default and ask user if a /etc/searx/settings.yml file exists. modified searx/settings.yml Add comments about when it is needed to run 'make buildenv' modified searx/settings_defaults.py Default for server:port is taken from enviroment variable SEARX_PORT. modified utils/build_env.py - Some defaults in the settings.yml are taken from the environment, e.g. SEARX_BIND_ADDRESS (searx.settings_defaults.SHEMA). When the 'brand.env' file is created these enviroment variables should be unset first. - The CONTACT_URL enviroment is not needed in the utils/brand.env Signed-off-by: Markus Heiser --- manage | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'manage') diff --git a/manage b/manage index f03343839..a67bdc74e 100755 --- a/manage +++ b/manage @@ -105,6 +105,16 @@ fi export DOCS_BUILD buildenv() { + + # settings file from repository's working tree are used by default + SEARX_SETTINGS_PATH="${REPO_ROOT}/searx/settings.yml" + + if [ -r '/etc/searx/settings.yml' ]; then + if ask_yn "should settings read from: /etc/searx/settings.yml"; then + SEARX_SETTINGS_PATH='/etc/searx/settings.yml' + fi + fi + export SEARX_SETTINGS_PATH SEARX_DEBUG=1 pyenv.cmd python utils/build_env.py 2>&1 \ | prefix_stdout "${_Blue}BUILDENV${_creset} " return "${PIPESTATUS[0]}" -- cgit v1.2.3 From 61d3914b639dc71c00f404652e9d5da32ae7c401 Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Wed, 21 Jul 2021 09:41:48 +0200 Subject: [fix] test.robot - do not use environment from ./utils/brand.env Some defaults in the settings.yml are taken from the environment. By example; The manage scripts sources the ./utils/brand.env and sets SEARX_PORT environment. This enviroment *wins over* any settings in a YAML file. Whe we run a:: make test.robot The searx/settings_robot.yml is used, in this file the server settings are:: server: port: 11111 bind_address: 127.0.0.1 To get in use of the 'port: 11111' we have to unset the SEARX_PORT environment which was sourced before. The function buildenv.unset_env() can be called in all use cases where the enviroment from ./utils/brand.env is not wanted. ATM it unset the enviroment variables:: unset GIT_URL unset GIT_BRANCH unset SEARX_URL unset SEARX_PORT unset SEARX_BIND_ADDRESS Signed-off-by: Markus Heiser --- manage | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'manage') diff --git a/manage b/manage index a67bdc74e..b974c3028 100755 --- a/manage +++ b/manage @@ -120,6 +120,17 @@ buildenv() { return "${PIPESTATUS[0]}" } +buildenv.unset_env(){ + # Some defaults in the settings.yml are taken from the environment, + # e.g. SEARX_BIND_ADDRESS (:py:obj:`searx.settings_defaults.SHEMA`). In + # some tasks (e.g. test.robot) we do not want these envorionment applied. + unset GIT_URL + unset GIT_BRANCH + unset SEARX_URL + unset SEARX_PORT + unset SEARX_BIND_ADDRESS +} + babel.compile() { build_msg BABEL compile pyenv.cmd pybabel compile -d "${REPO_ROOT}/searx/translations" @@ -481,6 +492,7 @@ test.coverage() { test.robot() { build_msg TEST 'robot' + buildenv.unset_env gecko.driver PYTHONPATH=. pyenv.cmd python searx/testing.py robot dump_return $? -- cgit v1.2.3