|
@@ -1,125 +0,0 @@
|
|
|
-#!/usr/bin/env bash
|
|
|
-# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
-# shellcheck disable=SC2001
|
|
|
-
|
|
|
-# shellcheck source=utils/lib.sh
|
|
|
-source "$(dirname "${BASH_SOURCE[0]}")/lib.sh"
|
|
|
-
|
|
|
-# ----------------------------------------------------------------------------
|
|
|
-# config
|
|
|
-# ----------------------------------------------------------------------------
|
|
|
-
|
|
|
-PUBLIC_URL="${PUBLIC_URL:-${SEARXNG_URL}}"
|
|
|
-
|
|
|
-FILTRON_ETC="/etc/filtron"
|
|
|
-
|
|
|
-SERVICE_NAME="filtron"
|
|
|
-SERVICE_USER="${SERVICE_USER:-${SERVICE_NAME}}"
|
|
|
-SERVICE_SYSTEMD_UNIT="${SYSTEMD_UNITS}/${SERVICE_NAME}.service"
|
|
|
-
|
|
|
-APACHE_FILTRON_SITE="searx.conf"
|
|
|
-NGINX_FILTRON_SITE="searx.conf"
|
|
|
-
|
|
|
-# ----------------------------------------------------------------------------
|
|
|
-usage() {
|
|
|
-# ----------------------------------------------------------------------------
|
|
|
-
|
|
|
- # shellcheck disable=SC1117
|
|
|
- cat <<EOF
|
|
|
-usage::
|
|
|
- $(basename "$0") remove all
|
|
|
- $(basename "$0") apache remove
|
|
|
- $(basename "$0") nginx remove
|
|
|
-
|
|
|
-remove all : drop all components of the filtron service
|
|
|
-apache remove : drop apache site ${APACHE_FILTRON_SITE}
|
|
|
-nginx remove : drop nginx site ${NGINX_FILTRON_SITE}
|
|
|
-
|
|
|
-environment:
|
|
|
- PUBLIC_URL : ${PUBLIC_URL}
|
|
|
-EOF
|
|
|
-
|
|
|
- [[ -n ${1} ]] && err_msg "$1"
|
|
|
-}
|
|
|
-
|
|
|
-main() {
|
|
|
- local _usage="unknown or missing $1 command $2"
|
|
|
-
|
|
|
- case $1 in
|
|
|
- -h|--help) usage; exit 0;;
|
|
|
- remove)
|
|
|
- sudo_or_exit
|
|
|
- case $2 in
|
|
|
- all) remove_all;;
|
|
|
- *) usage "$_usage"; exit 42;;
|
|
|
- esac ;;
|
|
|
- apache)
|
|
|
- sudo_or_exit
|
|
|
- case $2 in
|
|
|
- remove) remove_apache_site ;;
|
|
|
- *) usage "$_usage"; exit 42;;
|
|
|
- esac ;;
|
|
|
- nginx)
|
|
|
- sudo_or_exit
|
|
|
- case $2 in
|
|
|
- remove) remove_nginx_site ;;
|
|
|
- *) usage "$_usage"; exit 42;;
|
|
|
- esac ;;
|
|
|
- *) usage "unknown or missing command $1"; exit 42;;
|
|
|
- esac
|
|
|
-}
|
|
|
-
|
|
|
-remove_all() {
|
|
|
- rst_title "De-Install $SERVICE_NAME (service)"
|
|
|
-
|
|
|
- rst_para "\
|
|
|
-It goes without saying that this script can only be used to remove
|
|
|
-installations that were installed with this script."
|
|
|
-
|
|
|
- if ! systemd_remove_service "${SERVICE_NAME}" "${SERVICE_SYSTEMD_UNIT}"; then
|
|
|
- return 42
|
|
|
- fi
|
|
|
- drop_service_account "${SERVICE_USER}"
|
|
|
- rm -r "$FILTRON_ETC" 2>&1 | prefix_stdout
|
|
|
- if service_is_available "${PUBLIC_URL}"; then
|
|
|
- MSG="** Don't forget to remove your public site! (${PUBLIC_URL}) **" wait_key 10
|
|
|
- fi
|
|
|
-}
|
|
|
-
|
|
|
-remove_apache_site() {
|
|
|
-
|
|
|
- rst_title "Remove Apache site $APACHE_FILTRON_SITE"
|
|
|
-
|
|
|
- rst_para "\
|
|
|
-This removes apache site ${APACHE_FILTRON_SITE}."
|
|
|
-
|
|
|
- ! apache_is_installed && err_msg "Apache is not installed."
|
|
|
-
|
|
|
- if ! ask_yn "Do you really want to continue?" Yn; then
|
|
|
- return
|
|
|
- fi
|
|
|
-
|
|
|
- apache_remove_site "$APACHE_FILTRON_SITE"
|
|
|
-
|
|
|
-}
|
|
|
-
|
|
|
-remove_nginx_site() {
|
|
|
-
|
|
|
- rst_title "Remove nginx site $NGINX_FILTRON_SITE"
|
|
|
-
|
|
|
- rst_para "\
|
|
|
-This removes nginx site ${NGINX_FILTRON_SITE}."
|
|
|
-
|
|
|
- ! nginx_is_installed && err_msg "nginx is not installed."
|
|
|
-
|
|
|
- if ! ask_yn "Do you really want to continue?" Yn; then
|
|
|
- return
|
|
|
- fi
|
|
|
-
|
|
|
- nginx_remove_app "$FILTRON_FILTRON_SITE"
|
|
|
-
|
|
|
-}
|
|
|
-
|
|
|
-# ----------------------------------------------------------------------------
|
|
|
-main "$@"
|
|
|
-# ----------------------------------------------------------------------------
|