summaryrefslogtreecommitdiff
path: root/utils/filtron.sh
diff options
context:
space:
mode:
Diffstat (limited to 'utils/filtron.sh')
-rwxr-xr-xutils/filtron.sh93
1 files changed, 58 insertions, 35 deletions
diff --git a/utils/filtron.sh b/utils/filtron.sh
index a608f7769..eb34b2413 100755
--- a/utils/filtron.sh
+++ b/utils/filtron.sh
@@ -42,7 +42,8 @@ SERVICE_GROUP="${SERVICE_USER}"
SERVICE_GROUP="${SERVICE_USER}"
GO_ENV="${SERVICE_HOME}/.go_env"
-GO_PKG_URL="https://dl.google.com/go/go1.13.5.linux-amd64.tar.gz"
+GO_VERSION="go1.17.2"
+GO_PKG_URL="https://golang.org/dl/${GO_VERSION}.linux-amd64.tar.gz"
GO_TAR=$(basename "$GO_PKG_URL")
APACHE_FILTRON_SITE="searx.conf"
@@ -76,6 +77,7 @@ shell
start interactive shell from user ${SERVICE_USER}
install / remove
:all: complete setup of filtron service
+ :check: check the filtron installation
:user: add/remove service user '$SERVICE_USER' ($SERVICE_HOME)
:rules: reinstall filtron rules $FILTRON_RULES
update filtron
@@ -135,6 +137,10 @@ main() {
rst_title "$SERVICE_NAME" part
sudo_or_exit
case $2 in
+ check)
+ rst_title "Check filtron installation" part
+ install_check
+ ;;
all) install_all ;;
user) assert_user ;;
rules)
@@ -226,6 +232,56 @@ install_all() {
}
+install_check() {
+
+ if service_account_is_available "$SERVICE_USER"; then
+ info_msg "service account $SERVICE_USER available."
+ else
+ err_msg "service account $SERVICE_USER not available!"
+ fi
+ if go_is_available "$SERVICE_USER"; then
+ info_msg "~$SERVICE_USER: go is installed"
+ else
+ err_msg "~$SERVICE_USER: go is not installed"
+ fi
+ if filtron_is_installed; then
+ info_msg "~$SERVICE_USER: filtron app is installed"
+ else
+ err_msg "~$SERVICE_USER: filtron app is not installed!"
+ fi
+
+ if ! service_is_available "http://${FILTRON_API}"; then
+ err_msg "API not available at: http://${FILTRON_API}"
+ fi
+
+ if ! service_is_available "http://${FILTRON_LISTEN}" ; then
+ err_msg "Filtron is not listening on: http://${FILTRON_LISTEN}"
+ fi
+
+ if service_is_available "http://${FILTRON_TARGET}" ; then
+ info_msg "Filtron's target is available at: http://${FILTRON_TARGET}"
+ fi
+
+ if ! service_is_available "${PUBLIC_URL}"; then
+ warn_msg "Public service at ${PUBLIC_URL} is not available!"
+ if ! in_container; then
+ warn_msg "Check if public name is correct and routed or use the public IP from above."
+ fi
+ fi
+
+ if [[ "${GO_VERSION}" > "$(go_version)" ]]; then
+ warn_msg "golang ($(go_version)) needs to be $GO_VERSION at least"
+ else
+ info_msg "golang $(go_version) is installed (min needed is: $GO_VERSION)"
+ fi
+}
+
+go_version(){
+ sudo -i -u "$SERVICE_USER" <<EOF
+go version | cut -d' ' -f 3
+EOF
+}
+
remove_all() {
rst_title "De-Install $SERVICE_NAME (service)"
@@ -354,40 +410,7 @@ sourced ${DOT_CONFIG} :
EOF
install_log_searx_instance
- if service_account_is_available "$SERVICE_USER"; then
- info_msg "service account $SERVICE_USER available."
- else
- err_msg "service account $SERVICE_USER not available!"
- fi
- if go_is_available "$SERVICE_USER"; then
- info_msg "~$SERVICE_USER: go is installed"
- else
- err_msg "~$SERVICE_USER: go is not installed"
- fi
- if filtron_is_installed; then
- info_msg "~$SERVICE_USER: filtron app is installed"
- else
- err_msg "~$SERVICE_USER: filtron app is not installed!"
- fi
-
- if ! service_is_available "http://${FILTRON_API}"; then
- err_msg "API not available at: http://${FILTRON_API}"
- fi
-
- if ! service_is_available "http://${FILTRON_LISTEN}" ; then
- err_msg "Filtron is not listening on: http://${FILTRON_LISTEN}"
- fi
-
- if service_is_available "http://${FILTRON_TARGET}" ; then
- info_msg "Filtron's target is available at: http://${FILTRON_TARGET}"
- fi
-
- if ! service_is_available "${PUBLIC_URL}"; then
- warn_msg "Public service at ${PUBLIC_URL} is not available!"
- if ! in_container; then
- warn_msg "Check if public name is correct and routed or use the public IP from above."
- fi
- fi
+ install_check
if in_container; then
lxc_suite_info