From 35e2e2801dcc7e278f97cc4835c0886e56e489d9 Mon Sep 17 00:00:00 2001 From: Dominik Dzienia Date: Tue, 6 Jan 2026 16:33:23 +0100 Subject: [PATCH] Uninstall option --- src/commandline.sh | 13 ++++++++++++- src/logic_config.sh | 16 ++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/src/commandline.sh b/src/commandline.sh index 601fbf9..0c56efe 100644 --- a/src/commandline.sh +++ b/src/commandline.sh @@ -40,6 +40,7 @@ Options: -r, --restart Restart containers --update-ns Update Nightscout and Mongo containers --force-check Force update check in UI mode + --uninstall Uninstall Nightscout, containers, data, config and tool -h, --help Show this help message EOF } @@ -50,7 +51,7 @@ parse_commandline_args() { CMDARGS=$(getopt --quiet \ -o wvldpuc:srh \ - --long watchdog,version,loud,develop,production,update,force-check,channel:,cleanup,restart,update-ns,help \ + --long watchdog,version,loud,develop,production,update,force-check,channel:,cleanup,restart,update-ns,uninstall,help \ -n 'nightscout-tool' -- "$@") # shellcheck disable=SC2181 @@ -129,6 +130,12 @@ parse_commandline_args() { action="update-ns" shift ;; + --uninstall) + #shellcheck disable=SC2034 + NONINTERACTIVE_MODE=true + action="uninstall" + shift + ;; -h | --help) action="help" shift @@ -184,6 +191,10 @@ parse_commandline_args() { do_update_ns exit 0 ;; + uninstall) + do_uninstall + exit 0 + ;; esac if [ "$WATCHDOGMODE" = "true" ]; then diff --git a/src/logic_config.sh b/src/logic_config.sh index b1394bb..5214eb0 100644 --- a/src/logic_config.sh +++ b/src/logic_config.sh @@ -20,3 +20,19 @@ source_admin() { msgok "Imported admin config" fi } + +do_uninstall() { + msgok "Uninstalling..." + uninstall_containers + ohai "Usuwanie plików, proszę czekać..." + uninstall_cron + rm -r "${MONGO_DB_DIR:?}/data" + rm -r "${CONFIG_ROOT_DIR:?}" + rm "$TOOL_LINK" + rm -r "${NIGHTSCOUT_ROOT_DIR:?}/tools" + rm -r "${NIGHTSCOUT_ROOT_DIR:?}/updates" + do_cleanup_diagnostics + do_cleanup_app_logs + do_cleanup_app_state + event_mark "uninstall" +}