mirror of
https://github.com/searxng/searxng.git
synced 2024-11-26 21:01:01 +00:00
[mod] normalize .config.sh with settings.yml
In commit94851790
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>
This commit is contained in:
parent
2964a24b3d
commit
f61c918dd4
7 changed files with 74 additions and 50 deletions
57
.config.sh
57
.config.sh
|
@ -2,48 +2,41 @@
|
||||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
# shellcheck shell=bash disable=SC2034
|
# shellcheck shell=bash disable=SC2034
|
||||||
#
|
#
|
||||||
# This environment is used by ./utils scripts like filtron.sh or searx.sh. The
|
# This file should be edited only ones just before the installation of any
|
||||||
# default values are *most flexible* and *best maintained*, you normally not
|
# service is done. After the installation of the searx service a copy of this
|
||||||
# need to change the defaults (except PUBLIC_URL).
|
# file is placed into the $SEARX_SRC of the instance, e.g.::
|
||||||
#
|
#
|
||||||
# Before you change any value here you have to uninstall any previous
|
# /usr/local/searx/searx-src/.config.sh
|
||||||
# installation. Further is it recommended to backup your changes simply by
|
|
||||||
# adding them to you local brand (git branch)::
|
|
||||||
#
|
#
|
||||||
# git add .config
|
# .. hint::
|
||||||
|
#
|
||||||
|
# Before you change a value here, You have to fully uninstall any previous
|
||||||
|
# installation of searx, morty and filtron services!
|
||||||
|
|
||||||
# The public URL of the searx instance: PUBLIC_URL="https://mydomain.xy/searx"
|
# utils/searx.sh
|
||||||
# The default is taken from ./utils/brand.env.
|
# --------------
|
||||||
|
|
||||||
PUBLIC_URL="${SEARX_URL}"
|
# 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
|
||||||
|
|
||||||
if [[ ${PUBLIC_URL} == "https://searx.me" ]]; then
|
# utils/filtron.sh
|
||||||
# hint: Linux containers do not have DNS entries, lets use IPs
|
# ----------------
|
||||||
PUBLIC_URL="http://$(primary_ip)/searx"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# searx.sh
|
|
||||||
# ---------
|
|
||||||
|
|
||||||
# SEARX_INTERNAL_HTTP="127.0.0.1:8888"
|
|
||||||
# SEARX_SETTINGS_TEMPLATE="${REPO_ROOT}/utils/templates/etc/searx/use_default_settings.yml"
|
|
||||||
|
|
||||||
# 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}"
|
|
||||||
|
|
||||||
# filtron.sh
|
|
||||||
# ----------
|
|
||||||
|
|
||||||
# FILTRON_API="127.0.0.1:4005"
|
# FILTRON_API="127.0.0.1:4005"
|
||||||
# FILTRON_LISTEN="127.0.0.1:4004"
|
# FILTRON_LISTEN="127.0.0.1:4004"
|
||||||
# FILTRON_TARGET="127.0.0.1:8888"
|
# 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 address
|
||||||
# MORTY_LISTEN="127.0.0.1:3000"
|
# MORTY_LISTEN="127.0.0.1:3000"
|
||||||
|
|
|
@ -87,7 +87,7 @@ HTML of the site. URL of the searx instance and values are customizable.
|
||||||
|
|
||||||
.. code:: html
|
.. code:: html
|
||||||
|
|
||||||
<form method="post" action="https://searx.me/">
|
<form method="post" action="https://example.org/">
|
||||||
<!-- search --> <input type="text" name="q" />
|
<!-- search --> <input type="text" name="q" />
|
||||||
<!-- categories --> <input type="hidden" name="categories" value="general,social media" />
|
<!-- categories --> <input type="hidden" name="categories" value="general,social media" />
|
||||||
<!-- language --> <input type="hidden" name="lang" value="all" />
|
<!-- language --> <input type="hidden" name="lang" value="all" />
|
||||||
|
|
|
@ -11,7 +11,6 @@ source "${REPO_ROOT}/utils/lib_install.sh"
|
||||||
# config
|
# config
|
||||||
# ----------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------
|
||||||
|
|
||||||
PUBLIC_URL="${PUBLIC_URL:-http://$(uname -n)/searx}"
|
|
||||||
PUBLIC_HOST="${PUBLIC_HOST:-$(echo "$PUBLIC_URL" | sed -e 's/[^/]*\/\/\([^@]*@\)\?\([^:/]*\).*/\2/')}"
|
PUBLIC_HOST="${PUBLIC_HOST:-$(echo "$PUBLIC_URL" | sed -e 's/[^/]*\/\/\([^@]*@\)\?\([^:/]*\).*/\2/')}"
|
||||||
|
|
||||||
FILTRON_URL_PATH="${FILTRON_URL_PATH:-$(echo "${PUBLIC_URL}" \
|
FILTRON_URL_PATH="${FILTRON_URL_PATH:-$(echo "${PUBLIC_URL}" \
|
||||||
|
|
|
@ -52,6 +52,8 @@ source_dot_config() {
|
||||||
if [ -z "$eval_SEARX_SRC" ]; then
|
if [ -z "$eval_SEARX_SRC" ]; then
|
||||||
export eval_SEARX_SRC='true'
|
export eval_SEARX_SRC='true'
|
||||||
SEARX_SRC=$("${REPO_ROOT}/utils/searx.sh" --getenv SEARX_SRC)
|
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
|
if [ ! -r "${SEARX_SRC}" ]; then
|
||||||
build_msg INSTANCE "not yet cloned: ${SEARX_SRC}"
|
build_msg INSTANCE "not yet cloned: ${SEARX_SRC}"
|
||||||
orig_source_dot_config
|
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 "---- SearXNG instance setup ${_BBlue}(status: $(install_searx_get_state))${_creset}"
|
||||||
echo -e " SEARX_SETTINGS_PATH : ${_BBlue}${SEARX_SETTINGS_PATH}${_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_SRC : ${_BBlue}${SEARX_SRC:-none}${_creset}"
|
||||||
echo -e " SEARX_URL : ${_BBlue}${SEARX_URL:-none}${_creset}"
|
echo -e " SEARX_URL : ${_BBlue}${SEARX_URL:-none}${_creset}"
|
||||||
|
|
||||||
|
@ -177,6 +180,18 @@ install_searx_get_state(){
|
||||||
# shellcheck source=utils/brand.env
|
# shellcheck source=utils/brand.env
|
||||||
source "${REPO_ROOT}/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
|
source_dot_config
|
||||||
|
|
||||||
# shellcheck source=utils/lxc-searx.env
|
# shellcheck source=utils/lxc-searx.env
|
||||||
|
|
|
@ -110,8 +110,9 @@ EOF
|
||||||
info_searx() {
|
info_searx() {
|
||||||
# shellcheck disable=SC1117
|
# shellcheck disable=SC1117
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
To activate result and image proxy in searx, edit settings.yml (read:
|
To activate result and image proxy in SearXNG read:
|
||||||
${DOCS_URL}/admin/morty.html)::
|
${DOCS_URL}/admin/morty.html
|
||||||
|
Check settings in file ${SEARX_SETTINGS_PATH} ...
|
||||||
result_proxy:
|
result_proxy:
|
||||||
url : ${PUBLIC_URL_MORTY}
|
url : ${PUBLIC_URL_MORTY}
|
||||||
server:
|
server:
|
||||||
|
|
|
@ -12,7 +12,6 @@ source "${REPO_ROOT}/utils/lib_install.sh"
|
||||||
# config
|
# config
|
||||||
# ----------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------
|
||||||
|
|
||||||
PUBLIC_URL="${PUBLIC_URL:-http://$(uname -n)/searx}"
|
|
||||||
SEARX_INTERNAL_HTTP="${SEARX_BIND_ADDRESS}:${SEARX_PORT}"
|
SEARX_INTERNAL_HTTP="${SEARX_BIND_ADDRESS}:${SEARX_PORT}"
|
||||||
|
|
||||||
SEARX_URL_PATH="${SEARX_URL_PATH:-$(echo "${PUBLIC_URL}" \
|
SEARX_URL_PATH="${SEARX_URL_PATH:-$(echo "${PUBLIC_URL}" \
|
||||||
|
@ -29,8 +28,7 @@ SERVICE_GROUP="${SERVICE_USER}"
|
||||||
GIT_BRANCH="${GIT_BRANCH:-master}"
|
GIT_BRANCH="${GIT_BRANCH:-master}"
|
||||||
SEARX_PYENV="${SERVICE_HOME}/searx-pyenv"
|
SEARX_PYENV="${SERVICE_HOME}/searx-pyenv"
|
||||||
SEARX_SRC="${SERVICE_HOME}/searx-src"
|
SEARX_SRC="${SERVICE_HOME}/searx-src"
|
||||||
SEARX_SETTINGS_PATH="${SEARX_SETTINGS_PATH:-/etc/searx/settings.yml}"
|
SEARX_SETTINGS_PATH="/etc/searx/settings.yml"
|
||||||
SEARX_SETTINGS_TEMPLATE="${SEARX_SETTINGS_TEMPLATE:-${REPO_ROOT}/utils/templates/etc/searx/use_default_settings.yml}"
|
|
||||||
SEARX_UWSGI_APP="searx.ini"
|
SEARX_UWSGI_APP="searx.ini"
|
||||||
# shellcheck disable=SC2034
|
# shellcheck disable=SC2034
|
||||||
SEARX_UWSGI_SOCKET="/run/uwsgi/app/searx/socket"
|
SEARX_UWSGI_SOCKET="/run/uwsgi/app/searx/socket"
|
||||||
|
|
|
@ -1,9 +1,14 @@
|
||||||
|
# SearXNG settings, before editing this file read:
|
||||||
|
#
|
||||||
|
# ${DOCS_URL}/admin/engines/settings.html
|
||||||
|
|
||||||
use_default_settings: true
|
use_default_settings: true
|
||||||
|
|
||||||
general:
|
general:
|
||||||
debug: false # Debug mode, only for development
|
# Debug mode, only for development
|
||||||
instance_name: "searxng" # displayed name
|
debug: false
|
||||||
contact_url: false # mailto:contact@example.com
|
# change displayed name
|
||||||
|
# instance_name: "SearXNG"
|
||||||
|
|
||||||
search:
|
search:
|
||||||
# Filter results. 0: None, 1: Moderate, 2: Strict
|
# Filter results. 0: None, 1: Moderate, 2: Strict
|
||||||
|
@ -11,24 +16,37 @@ search:
|
||||||
# Existing autocomplete backends: "dbpedia", "duckduckgo", "google",
|
# Existing autocomplete backends: "dbpedia", "duckduckgo", "google",
|
||||||
# "startpage", "swisscows", "qwant", "wikipedia" - leave blank to turn it off
|
# "startpage", "swisscows", "qwant", "wikipedia" - leave blank to turn it off
|
||||||
# by default.
|
# by default.
|
||||||
autocomplete: ""
|
autocomplete: ''
|
||||||
# Default search language - leave blank to detect from browser information or
|
# Default search language - leave blank to detect from browser information or
|
||||||
# use codes from 'languages.py'
|
# use codes from 'languages.py'
|
||||||
default_lang: ""
|
default_lang: ''
|
||||||
# remove format to deny access, use lower case.
|
# remove format to deny access, use lower case.
|
||||||
formats: [html, csv, json, rss]
|
formats: [html, csv, json, rss]
|
||||||
|
|
||||||
server:
|
server:
|
||||||
port: 8888
|
|
||||||
# address to listen on
|
|
||||||
bind_address: "127.0.0.1"
|
|
||||||
secret_key: "ultrasecretkey" # change this!
|
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
|
# Proxying image results through searx
|
||||||
image_proxy: false
|
image_proxy: false
|
||||||
|
|
||||||
# result_proxy:
|
# result_proxy:
|
||||||
# url: http://127.0.0.1:3000/
|
# url: http://127.0.0.1:3000/
|
||||||
# key: !!binary "your_morty_proxy_key"
|
# 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
|
Loading…
Reference in a new issue