summaryrefslogtreecommitdiff
path: root/searx
diff options
context:
space:
mode:
authorAlexandre Flament <alex@al-f.net>2021-10-03 18:48:23 +0200
committerGitHub <noreply@github.com>2021-10-03 18:48:23 +0200
commit9da9dbcbb45bd41948789529a3bd5e32da6cb62f (patch)
treec52ae4a1d47140d5e531e78b7fbc11e0a354c7ec /searx
parente39a03cc61e9792afb34084fb4d9973a61deecea (diff)
parent253b8503765b6f0d21135254277e72d17a51e04a (diff)
Merge pull request #373 from dalf/searxng-environ
SearXNG: environment variables
Diffstat (limited to 'searx')
-rw-r--r--searx/__init__.py2
-rw-r--r--searx/settings_defaults.py28
-rw-r--r--searx/settings_loader.py8
3 files changed, 27 insertions, 11 deletions
diff --git a/searx/__init__.py b/searx/__init__.py
index 93ad76bb1..b1626ae9f 100644
--- a/searx/__init__.py
+++ b/searx/__init__.py
@@ -62,7 +62,7 @@ def logging_config_debug():
except ImportError:
coloredlogs = None
- log_level = os.environ.get('SEARX_DEBUG_LOG_LEVEL', 'DEBUG')
+ log_level = os.environ.get('SEARXNG_DEBUG_LOG_LEVEL', 'DEBUG')
if coloredlogs and is_color_terminal():
level_styles = {
'spam': {'color': 'green', 'faint': True},
diff --git a/searx/settings_defaults.py b/searx/settings_defaults.py
index 62625b912..9284f3050 100644
--- a/searx/settings_defaults.py
+++ b/searx/settings_defaults.py
@@ -41,6 +41,17 @@ STR_TO_BOOL = {
}
_UNDEFINED = object()
+# compatibility
+SEARX_ENVIRON_VARIABLES = {
+ 'SEARX_DISABLE_ETC_SETTINGS': 'SEARXNG_DISABLE_ETC_SETTINGS',
+ 'SEARX_SETTINGS_PATH': 'SEARXNG_SETTINGS_PATH',
+ 'SEARX_DEBUG': 'SEARXNG_DEBUG',
+ 'SEARX_PORT': 'SEARXNG_PORT',
+ 'SEARX_BIND_ADDRESS': 'SEARXNG_BIND_ADDRESS',
+ 'SEARX_SECRET': 'SEARXNG_SECRET',
+}
+
+
class SettingsValue:
"""Check and update a setting value
@@ -87,7 +98,6 @@ class SettingsValue:
self.check_type_definition(value)
return value
-
class SettingsDirectoryValue(SettingsValue):
"""Check and update a setting value that is a directory path
"""
@@ -124,8 +134,8 @@ def apply_schema(settings, schema, path_list):
SCHEMA = {
'general': {
- 'debug': SettingsValue(bool, False, 'SEARX_DEBUG'),
- 'instance_name': SettingsValue(str, 'searxng'),
+ 'debug': SettingsValue(bool, False, 'SEARXNG_DEBUG'),
+ 'instance_name': SettingsValue(str, 'SearXNG'),
'contact_url': SettingsValue((None, False, str), None),
},
'brand': {
@@ -144,9 +154,9 @@ SCHEMA = {
'formats': SettingsValue(list, OUTPUT_FORMATS),
},
'server': {
- 'port': SettingsValue((int,str), 8888, 'SEARX_PORT'),
- 'bind_address': SettingsValue(str, '127.0.0.1', 'SEARX_BIND_ADDRESS'),
- 'secret_key': SettingsValue(str, environ_name='SEARX_SECRET'),
+ 'port': SettingsValue((int,str), 8888, 'SEARXNG_PORT'),
+ 'bind_address': SettingsValue(str, '127.0.0.1', 'SEARXNG_BIND_ADDRESS'),
+ 'secret_key': SettingsValue(str, environ_name='SEARXNG_SECRET'),
'base_url': SettingsValue((False, str), False),
'image_proxy': SettingsValue(bool, False),
'http_protocol_version': SettingsValue(('1.0', '1.1'), '1.0'),
@@ -201,5 +211,11 @@ SCHEMA = {
}
def settings_set_defaults(settings):
+ # compatibility with searx variables
+ for searx, searxng in SEARX_ENVIRON_VARIABLES.items():
+ if searx in os.environ and searxng not in os.environ:
+ os.environ[searxng] = os.environ[searx]
+ logger.warning('%s uses value from %s', searxng, searx)
+
apply_schema(settings, SCHEMA, [])
return settings
diff --git a/searx/settings_loader.py b/searx/settings_loader.py
index 6beab59a1..51e5456d5 100644
--- a/searx/settings_loader.py
+++ b/searx/settings_loader.py
@@ -35,12 +35,12 @@ def get_default_settings_path():
def get_user_settings_path():
# find location of settings.yml
- if 'SEARX_SETTINGS_PATH' in environ:
+ if 'SEARXNG_SETTINGS_PATH' in environ:
# if possible set path to settings using the
- # enviroment variable SEARX_SETTINGS_PATH
- return check_settings_yml(environ['SEARX_SETTINGS_PATH'])
+ # enviroment variable SEARXNG_SETTINGS_PATH
+ return check_settings_yml(environ['SEARXNG_SETTINGS_PATH'])
- if environ.get('SEARX_DISABLE_ETC_SETTINGS', '').lower() in ('1', 'true'):
+ if environ.get('SEARXNG_DISABLE_ETC_SETTINGS', '').lower() in ('1', 'true'):
return None
# if not, get it from searx code base or last solution from /etc/searx