@ -146,7 +146,7 @@ usage::
$( basename " $0 " ) remove [ all| user| pyenv| searx-src]
$( basename " $0 " ) activate [ service]
$( basename " $0 " ) deactivate [ service]
$( basename " $0 " ) inspect [ service]
$( basename " $0 " ) inspect [ service| settings <key>]
$( basename " $0 " ) option [ debug-[ on| off] | image-proxy-[ on| off] | result-proxy <url> <key>]
$( basename " $0 " ) apache [ install| remove]
@ -169,8 +169,9 @@ activate service
activate and start service daemon ( systemd unit)
deactivate service
stop and deactivate service daemon ( systemd unit)
inspect service
run some small tests and inspect service' s status and log
inspect
:service: run some small tests and inspect service' s status and log
:settings: inspect YAML setting <key> from SearXNG instance ( ${ SEARX_SRC } )
option
set one of the available options
apache
@ -205,6 +206,10 @@ main() {
sudo_or_exit
inspect_service
; ;
settings)
prompt_installation_setting " $3 "
dump_return $?
; ;
*) usage " $_usage " ; exit 42; ;
esac ; ;
install)
@ -425,9 +430,14 @@ EOF
}
prompt_installation_status( ) {
local _state
_state = " $( install_searx_get_state) "
case $_state in
local state branch remote remote_url instance_setting
state = " $( install_searx_get_state) "
branch = " $( git name-rev --name-only HEAD) "
remote = " $( git config branch." ${ branch } " .remote) "
remote_url = " $( git config remote." ${ remote } " .url) "
case $state in
missing-searx-clone)
info_msg " ${ _BBlue } (status: $( install_searx_get_state) ) ${ _creset } "
return 0
@ -435,6 +445,16 @@ prompt_installation_status(){
*)
warn_msg " SearXNG instance already installed at: $SEARX_SRC "
warn_msg " status: ${ _BBlue } $( install_searx_get_state) ${ _creset } "
instance_setting = " $( prompt_installation_setting brand.git_url) "
if ! [ " $instance_setting " = " $remote_url " ] ; then
warn_msg " instance's brand.git_url: ' ${ instance_setting } ' " \
" differs from local clone's remote URL: ${ remote_url } "
fi
instance_setting = " $( prompt_installation_setting brand.git_branch) "
if ! [ " $instance_setting " = " $branch " ] ; then
warn_msg " instance brand.git_branch: ${ instance_setting } " \
" differs from local clone's branch: ${ branch } "
fi
return 42
; ;
esac
@ -447,6 +467,35 @@ verify_continue_install(){
fi
}
prompt_installation_setting( ) {
# usage: prompt_installation_setting brand.git_url
#
# Prompts the value of the (YAML) setting in the SearXNG instance.
local _state
_state = " $( install_searx_get_state) "
case $_state in
python-installed| installer-modified)
sudo -H -u " ${ SERVICE_USER } " " ${ SEARX_PYENV } /bin/python " <<EOF
import sys
from searx import get_setting
name = " ${ 1 } "
unset = object( )
value = get_setting( name, unset )
if value is unset:
sys.stderr.write( "error: setting '%s' does not exists\n" % name)
sys.exit( 42)
print( value)
sys.exit( 0)
EOF
; ;
*)
return 42
; ;
esac
}
init_SEARX_SRC( ) {
rst_title " Update instance: ${ SEARX_SRC } / " section