forked from Ponysearch/Ponysearch
utils/serx.sh: make uWSGI installation available for all distros (WIP)
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
This commit is contained in:
parent
4d67164918
commit
f17b28743a
2 changed files with 101 additions and 27 deletions
116
utils/lib.sh
116
utils/lib.sh
|
@ -693,12 +693,46 @@ apache_dissable_site() {
|
||||||
|
|
||||||
uWSGI_SETUP="${uWSGI_SETUP:=/etc/uwsgi}"
|
uWSGI_SETUP="${uWSGI_SETUP:=/etc/uwsgi}"
|
||||||
|
|
||||||
|
case $DIST_ID-$DIST_VERS in
|
||||||
|
ubuntu-*|debian-*)
|
||||||
|
# init.d --> /usr/share/doc/uwsgi/README.Debian.gz
|
||||||
|
uWSGI_APPS_AVAILABLE="${uWSGI_SETUP}/apps-available"
|
||||||
|
uWSGI_APPS_ENABLED="${uWSGI_SETUP}/apps-enabled"
|
||||||
|
;;
|
||||||
|
arch-*)
|
||||||
|
# systemd --> /usr/lib/systemd/system/uwsgi@.service
|
||||||
|
uWSGI_APPS_AVAILABLE="${uWSGI_SETUP}"
|
||||||
|
uWSGI_APPS_ENABLED="${uWSGI_SETUP}"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
info_msg "$DIST_ID-$DIST_VERS: uWSGI not yet implemented"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
uWSGI_restart() {
|
uWSGI_restart() {
|
||||||
|
|
||||||
# usage: uWSGI_restart()
|
# usage: uWSGI_restart() <myapp.ini>
|
||||||
|
|
||||||
|
local CONF="$1"
|
||||||
|
if [[ -z $CONF ]]; then
|
||||||
|
err_msg "uWSGI_restart: missing arguments"
|
||||||
|
return 42
|
||||||
|
fi
|
||||||
|
|
||||||
info_msg "restart uWSGI service"
|
info_msg "restart uWSGI service"
|
||||||
systemctl restart uwsgi
|
|
||||||
|
case $DIST_ID-$DIST_VERS in
|
||||||
|
ubuntu-*|debian-*)
|
||||||
|
service uwsgi restart "${CONF%.*}"
|
||||||
|
;;
|
||||||
|
arch-*)
|
||||||
|
systemctl restart "uwsgi@${CONF%.*}"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
err_msg "$DIST_ID-$DIST_VERS: uWSGI not yet implemented"
|
||||||
|
return 42
|
||||||
|
;;
|
||||||
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
uWSGI_app_available() {
|
uWSGI_app_available() {
|
||||||
|
@ -708,7 +742,7 @@ uWSGI_app_available() {
|
||||||
err_msg "uWSGI_app_available: missing arguments"
|
err_msg "uWSGI_app_available: missing arguments"
|
||||||
return 42
|
return 42
|
||||||
fi
|
fi
|
||||||
[[ -f "${uWSGI_SETUP}/apps-available/${CONF}" ]]
|
[[ -f "${uWSGI_APPS_AVAILABLE}/${CONF}" ]]
|
||||||
}
|
}
|
||||||
|
|
||||||
uWSGI_install_app() {
|
uWSGI_install_app() {
|
||||||
|
@ -725,13 +759,12 @@ uWSGI_install_app() {
|
||||||
*) pos_args+=("$i");;
|
*) pos_args+=("$i");;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
mkdir -p "${uWSGI_APPS_AVAILABLE}"
|
||||||
install_template "${template_opts[@]}" \
|
install_template "${template_opts[@]}" \
|
||||||
"${uWSGI_SETUP}/apps-available/${pos_args[1]}" \
|
"${uWSGI_APPS_AVAILABLE}/${pos_args[1]}" \
|
||||||
root root 644
|
root root 644
|
||||||
|
|
||||||
uWSGI_enable_app "${pos_args[1]}"
|
uWSGI_enable_app "${pos_args[1]}"
|
||||||
uWSGI_restart
|
uWSGI_restart "${pos_args[1]}"
|
||||||
info_msg "installed uWSGI app: ${pos_args[1]}"
|
info_msg "installed uWSGI app: ${pos_args[1]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -742,18 +775,35 @@ uWSGI_remove_app() {
|
||||||
local CONF="$1"
|
local CONF="$1"
|
||||||
info_msg "remove uWSGI app: ${CONF}"
|
info_msg "remove uWSGI app: ${CONF}"
|
||||||
uWSGI_disable_app "${CONF}"
|
uWSGI_disable_app "${CONF}"
|
||||||
uWSGI_restart
|
uWSGI_restart "${CONF}"
|
||||||
rm -f "${uWSGI_SETUP}/apps-available/${CONF}"
|
rm -f "${uWSGI_APPS_AVAILABLE}/${CONF}"
|
||||||
}
|
}
|
||||||
|
|
||||||
uWSGI_app_enabled() {
|
uWSGI_app_enabled() {
|
||||||
# usage: uWSGI_app_enabled <myapp.ini>
|
# usage: uWSGI_app_enabled <myapp.ini>
|
||||||
|
|
||||||
local CONF="$1"
|
local CONF="$1"
|
||||||
|
local exit_val=0
|
||||||
if [[ -z $CONF ]]; then
|
if [[ -z $CONF ]]; then
|
||||||
err_msg "uWSGI_app_enabled: missing arguments"
|
err_msg "uWSGI_app_enabled: missing arguments"
|
||||||
return 42
|
return 42
|
||||||
fi
|
fi
|
||||||
[[ -f "${uWSGI_SETUP}/apps-enabled/${CONF}" ]]
|
case $DIST_ID-$DIST_VERS in
|
||||||
|
ubuntu-*|debian-*)
|
||||||
|
[[ -f "${uWSGI_APPS_ENABLED}/${CONF}" ]]
|
||||||
|
exit_val=$?
|
||||||
|
;;
|
||||||
|
arch-*)
|
||||||
|
systemctl -q is-enabled "uwsgi@${CONF%.*}"
|
||||||
|
exit_val=$?
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
# FIXME
|
||||||
|
err_msg "$DIST_ID-$DIST_VERS: uWSGI not yet implemented"
|
||||||
|
exit_val=1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
return $exit_val
|
||||||
}
|
}
|
||||||
|
|
||||||
# shellcheck disable=SC2164
|
# shellcheck disable=SC2164
|
||||||
|
@ -762,16 +812,29 @@ uWSGI_enable_app() {
|
||||||
# usage: uWSGI_enable_app <myapp.ini>
|
# usage: uWSGI_enable_app <myapp.ini>
|
||||||
|
|
||||||
local CONF="$1"
|
local CONF="$1"
|
||||||
|
|
||||||
if [[ -z $CONF ]]; then
|
if [[ -z $CONF ]]; then
|
||||||
err_msg "uWSGI_enable_app: missing arguments"
|
err_msg "uWSGI_enable_app: missing arguments"
|
||||||
return 42
|
return 42
|
||||||
fi
|
fi
|
||||||
pushd "${uWSGI_SETUP}/apps-enabled" >/dev/null
|
|
||||||
rm -f "$CONF"
|
case $DIST_ID-$DIST_VERS in
|
||||||
# shellcheck disable=SC2226
|
ubuntu-*|debian-*)
|
||||||
ln -s "../apps-available/${CONF}"
|
mkdir -p "${uWSGI_APPS_ENABLED}"
|
||||||
info_msg "enabled uWSGI app: ${CONF} (restart uWSGI required)"
|
pushd "${uWSGI_APPS_ENABLED}" >/dev/null
|
||||||
popd >/dev/null
|
rm -f "$CONF"
|
||||||
|
ln -s "${uWSGI_APPS_AVAILABLE}/${CONF}" .
|
||||||
|
popd >/dev/null
|
||||||
|
info_msg "enabled uWSGI app: ${CONF} (restart required)"
|
||||||
|
;;
|
||||||
|
arch-*)
|
||||||
|
systemctl enable "uwsgi@${CONF%.*}"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
# FIXME
|
||||||
|
err_msg "$DIST_ID-$DIST_VERS: uWSGI not yet implemented"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
uWSGI_disable_app() {
|
uWSGI_disable_app() {
|
||||||
|
@ -783,11 +846,22 @@ uWSGI_disable_app() {
|
||||||
err_msg "uWSGI_enable_app: missing arguments"
|
err_msg "uWSGI_enable_app: missing arguments"
|
||||||
return 42
|
return 42
|
||||||
fi
|
fi
|
||||||
rm -f "${uWSGI_SETUP}/apps-enabled/${CONF}"
|
|
||||||
# FIXME: restart uwsgi service won't stop wsgi forked processes of user searx.
|
case $DIST_ID-$DIST_VERS in
|
||||||
# I had to kill them manually here ...
|
ubuntu-*|debian-*)
|
||||||
pkill -f "${uWSGI_SETUP}/apps-enabled/${CONF}" -9
|
service uwsgi stop "${CONF%.*}"
|
||||||
info_msg "disabled uWSGI app: ${CONF} (restart uWSGI required)"
|
rm -f "${uWSGI_APPS_ENABLED}/${CONF}"
|
||||||
|
info_msg "disabled uWSGI app: ${CONF} (restart uWSGI required)"
|
||||||
|
;;
|
||||||
|
arch-*)
|
||||||
|
systemctl stop "uwsgi@${CONF%.*}"
|
||||||
|
systemctl disable "uwsgi@${CONF%.*}"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
# FIXME
|
||||||
|
err_msg "$DIST_ID-$DIST_VERS: uWSGI not yet implemented"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
# distro's package manager
|
# distro's package manager
|
||||||
|
|
|
@ -66,7 +66,7 @@ APACHE_SEARX_SITE="searx.conf"
|
||||||
|
|
||||||
# shellcheck disable=SC2034
|
# shellcheck disable=SC2034
|
||||||
CONFIG_FILES=(
|
CONFIG_FILES=(
|
||||||
"${uWSGI_SETUP}/apps-available/${SEARX_UWSGI_APP}"
|
"${uWSGI_APPS_AVAILABLE}/${SEARX_UWSGI_APP}"
|
||||||
)
|
)
|
||||||
|
|
||||||
# shellcheck disable=SC2034
|
# shellcheck disable=SC2034
|
||||||
|
@ -246,7 +246,7 @@ git pull
|
||||||
${SEARX_SRC}/manage.sh update_packages
|
${SEARX_SRC}/manage.sh update_packages
|
||||||
EOF
|
EOF
|
||||||
install_settings
|
install_settings
|
||||||
uWSGI_restart
|
uWSGI_restart "$SEARX_UWSGI_APP"
|
||||||
}
|
}
|
||||||
|
|
||||||
remove_all() {
|
remove_all() {
|
||||||
|
@ -458,14 +458,14 @@ activate_service() {
|
||||||
rst_title "Activate $SEARX_INSTANCE_NAME (service)" section
|
rst_title "Activate $SEARX_INSTANCE_NAME (service)" section
|
||||||
echo
|
echo
|
||||||
uWSGI_enable_app "$SEARX_UWSGI_APP"
|
uWSGI_enable_app "$SEARX_UWSGI_APP"
|
||||||
uWSGI_restart
|
uWSGI_restart "$SEARX_UWSGI_APP"
|
||||||
}
|
}
|
||||||
|
|
||||||
deactivate_service() {
|
deactivate_service() {
|
||||||
rst_title "De-Activate $SEARX_INSTANCE_NAME (service)" section
|
rst_title "De-Activate $SEARX_INSTANCE_NAME (service)" section
|
||||||
echo
|
echo
|
||||||
uWSGI_disable_app "$SEARX_UWSGI_APP"
|
uWSGI_disable_app "$SEARX_UWSGI_APP"
|
||||||
uWSGI_restart
|
uWSGI_restart "$SEARX_UWSGI_APP"
|
||||||
}
|
}
|
||||||
|
|
||||||
enable_debug() {
|
enable_debug() {
|
||||||
|
@ -475,7 +475,7 @@ enable_debug() {
|
||||||
cd ${SEARX_SRC}
|
cd ${SEARX_SRC}
|
||||||
sed -i -e "s/debug : False/debug : True/g" "$SEARX_SETTINGS_PATH"
|
sed -i -e "s/debug : False/debug : True/g" "$SEARX_SETTINGS_PATH"
|
||||||
EOF
|
EOF
|
||||||
uWSGI_restart
|
uWSGI_restart "$SEARX_UWSGI_APP"
|
||||||
}
|
}
|
||||||
|
|
||||||
disable_debug() {
|
disable_debug() {
|
||||||
|
@ -484,7 +484,7 @@ disable_debug() {
|
||||||
cd ${SEARX_SRC}
|
cd ${SEARX_SRC}
|
||||||
sed -i -e "s/debug : True/debug : False/g" "$SEARX_SETTINGS_PATH"
|
sed -i -e "s/debug : True/debug : False/g" "$SEARX_SETTINGS_PATH"
|
||||||
EOF
|
EOF
|
||||||
uWSGI_restart
|
uWSGI_restart "$SEARX_UWSGI_APP"
|
||||||
}
|
}
|
||||||
|
|
||||||
inspect_service() {
|
inspect_service() {
|
||||||
|
|
Loading…
Reference in a new issue