Fixed container update mechanism

pull/2/head
Dominik Dzienia 2 years ago
parent c2c44ab610
commit c7a5eeb77f

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
### version: 1.6.1 ### version: 1.7.0
# ~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.# # ~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.#
# Nightscout Mikr.us setup script # # Nightscout Mikr.us setup script #
@ -35,8 +35,8 @@ MONGO_DB_DIR=/srv/nightscout/data/mongodb
TOOL_FILE=/srv/nightscout/tools/nightscout-tool TOOL_FILE=/srv/nightscout/tools/nightscout-tool
TOOL_LINK=/usr/bin/nightscout-tool TOOL_LINK=/usr/bin/nightscout-tool
UPDATES_DIR=/srv/nightscout/updates UPDATES_DIR=/srv/nightscout/updates
SCRIPT_VERSION="1.6.1" #auto-update SCRIPT_VERSION="1.7.0" #auto-update
SCRIPT_BUILD_TIME="2023.10.08" #auto-update SCRIPT_BUILD_TIME="2023.10.20" #auto-update
#======================================= #=======================================
# SETUP # SETUP
@ -543,6 +543,11 @@ get_docker_status() {
} }
install_containers() { install_containers() {
docker-compose --env-file /srv/nightscout/config/deployment.env -f /srv/nightscout/config/docker-compose.yml up --no-recreate -d >>$LOGTO 2>&1
}
update_containers() {
docker-compose --env-file /srv/nightscout/config/deployment.env -f /srv/nightscout/config/docker-compose.yml pull >>$LOGTO 2>&1
docker-compose --env-file /srv/nightscout/config/deployment.env -f /srv/nightscout/config/docker-compose.yml up -d >>$LOGTO 2>&1 docker-compose --env-file /srv/nightscout/config/deployment.env -f /srv/nightscout/config/docker-compose.yml up -d >>$LOGTO 2>&1
} }
@ -883,7 +888,11 @@ prompt_api_secret() {
} }
docker_compose_up() { docker_compose_up() {
process_gauge install_containers install_containers_progress "Instalowanie Nightscouta" "Proszę czekać, trwa instalowanie kontenerów..." process_gauge install_containers install_containers_progress "Uruchamianie Nightscouta" "Proszę czekać, trwa uruchamianie kontenerów..."
}
docker_compose_update() {
process_gauge update_containers install_containers_progress "Uruchamianie Nightscouta" "Proszę czekać, trwa aktualizacja kontenerów..."
} }
docker_compose_down() { docker_compose_down() {
@ -1118,7 +1127,7 @@ version_menu() {
docker_compose_down docker_compose_down
ohai "Changing Nightscout container tag from: $ns_tag to: $CHOICE" ohai "Changing Nightscout container tag from: $ns_tag to: $CHOICE"
dotenv-tool -pmr -i $ENV_FILE_DEP -- "NS_NIGHTSCOUT_TAG=$CHOICE" dotenv-tool -pmr -i $ENV_FILE_DEP -- "NS_NIGHTSCOUT_TAG=$CHOICE"
docker_compose_up docker_compose_update
whiptail --title "Zmieniono wersję Nightscout" --msgbox "$(center_multiline "Zmieniono wersję Nightscout na: $CHOICE\n\nSprawdź czy Nightscout działa poprawnie, w razie problemów:\n${uni_bullet}aktualizuj kontenery\n${uni_bullet}spróbuj wyczyścić bazę danych\n${uni_bullet}wróć do poprzedniej wersji ($ns_tag)" 65)" 13 70 whiptail --title "Zmieniono wersję Nightscout" --msgbox "$(center_multiline "Zmieniono wersję Nightscout na: $CHOICE\n\nSprawdź czy Nightscout działa poprawnie, w razie problemów:\n${uni_bullet}aktualizuj kontenery\n${uni_bullet}spróbuj wyczyścić bazę danych\n${uni_bullet}wróć do poprzedniej wersji ($ns_tag)" 65)" 13 70
break break
fi fi
@ -1162,7 +1171,7 @@ uninstall_menu() {
if ! [ $? -eq 1 ]; then if ! [ $? -eq 1 ]; then
nano $ENV_FILE_NS nano $ENV_FILE_NS
docker_compose_down docker_compose_down
docker_compose_up docker_compose_update
fi fi
fi fi
;; ;;
@ -1178,7 +1187,7 @@ uninstall_menu() {
docker_compose_down docker_compose_down
dialog --title " Czyszczenie bazy danych " --infobox "\n Usuwanie plików bazy\n ... Proszę czekać ..." 6 32 dialog --title " Czyszczenie bazy danych " --infobox "\n Usuwanie plików bazy\n ... Proszę czekać ..." 6 32
rm -r "${MONGO_DB_DIR:?}/data" rm -r "${MONGO_DB_DIR:?}/data"
docker_compose_up docker_compose_update
fi fi
;; ;;
"D)") "D)")
@ -1239,13 +1248,14 @@ main_menu() {
local quickStatus=$(center_text "Nightscout: $(get_container_status 'ns-server')" 55) local quickStatus=$(center_text "Nightscout: $(get_container_status 'ns-server')" 55)
local quickVersion=$(center_text "Wersja: $ns_tag" 55) local quickVersion=$(center_text "Wersja: $ns_tag" 55)
local quickDomain=$(center_text "Domena: $(get_domain_status 'ns-server')" 55) local quickDomain=$(center_text "Domena: $(get_domain_status 'ns-server')" 55)
local CHOICE=$(whiptail --title "Zarządzanie Nightscoutem" --menu "\n$quickStatus\n$quickVersion\n$quickDomain\n" 19 60 8 \ local CHOICE=$(whiptail --title "Zarządzanie Nightscoutem :: $SCRIPT_VERSION" --menu "\n$quickStatus\n$quickVersion\n$quickDomain\n" 20 60 9 \
"1)" "Status kontenerów i logi" \ "1)" "Status kontenerów i logi" \
"2)" "Pokaż port i API SECRET" \ "2)" "Pokaż port i API SECRET" \
"3)" "Aktualizuj system" \ "S)" "Aktualizuj system" \
"4)" "Aktualizuj to narzędzie" \ "N)" "Aktualizuj to narzędzie" \
"5)" "Aktualizuj kontenery" \ "K)" "Aktualizuj kontenery" \
"6)" "Zmień lub odinstaluj" \ "R)" "Uruchom ponownie kontenery" \
"Z)" "Zmień lub odinstaluj" \
"I)" "O tym narzędziu..." \ "I)" "O tym narzędziu..." \
"X)" "Wyjście" \ "X)" "Wyjście" \
--ok-button="$uni_select" --cancel-button="$uni_exit" \ --ok-button="$uni_select" --cancel-button="$uni_exit" \
@ -1260,7 +1270,7 @@ main_menu() {
local ns_api_secret=$(dotenv-tool -r get -f $ENV_FILE_NS "API_SECRET") local ns_api_secret=$(dotenv-tool -r get -f $ENV_FILE_NS "API_SECRET")
whiptail --title "Podgląd konfiguracji Nightscout" --msgbox "\n Port usługi Nightscout: $ns_external_port\n API_SECRET: $ns_api_secret" 10 60 whiptail --title "Podgląd konfiguracji Nightscout" --msgbox "\n Port usługi Nightscout: $ns_external_port\n API_SECRET: $ns_api_secret" 10 60
;; ;;
"3)") "S)")
ohai "Updating package list" ohai "Updating package list"
dialog --title " Aktualizacja systemu " --infobox "\n Pobieranie listy pakietów\n ..... Proszę czekać ....." 6 33 dialog --title " Aktualizacja systemu " --infobox "\n Pobieranie listy pakietów\n ..... Proszę czekać ....." 6 33
apt-get -yq update >>$LOGTO 2>&1 apt-get -yq update >>$LOGTO 2>&1
@ -1268,14 +1278,18 @@ main_menu() {
dialog --title " Aktualizacja systemu " --infobox "\n Instalowanie pakietów\n ... Proszę czekać ..." 6 33 dialog --title " Aktualizacja systemu " --infobox "\n Instalowanie pakietów\n ... Proszę czekać ..." 6 33
apt-get -yq upgrade >>$LOGTO 2>&1 apt-get -yq upgrade >>$LOGTO 2>&1
;; ;;
"4)") "N)")
update_if_needed "Wszystkie pliki narzędzia są aktualne" update_if_needed "Wszystkie pliki narzędzia są aktualne"
;; ;;
"5)") "K)")
docker_compose_down
docker_compose_update
;;
"R)")
docker_compose_down docker_compose_down
docker_compose_up docker_compose_up
;; ;;
"6)") "Z)")
uninstall_menu uninstall_menu
;; ;;
"I)") "I)")
@ -1310,7 +1324,7 @@ install_or_menu() {
if [ "$freshInstall" -gt 0 ]; then if [ "$freshInstall" -gt 0 ]; then
ohai "Instalowanie Nightscout..." ohai "Instalowanie Nightscout..."
docker_compose_up docker_compose_update
setup_firewall_for_ns setup_firewall_for_ns
domain_setup domain_setup
# admin_panel_promo # admin_panel_promo

@ -1,6 +1,6 @@
{ {
"name": "@dlvoy/ns-installer-mikrus", "name": "@dlvoy/ns-installer-mikrus",
"version": "1.6.1", "version": "1.7.0",
"description": "Nightscout installer for mikr.us VPS", "description": "Nightscout installer for mikr.us VPS",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {

@ -19,8 +19,8 @@ MONGO_DB_DIR=/srv/nightscout/data/mongodb
TOOL_FILE=/srv/nightscout/tools/nightscout-tool TOOL_FILE=/srv/nightscout/tools/nightscout-tool
TOOL_LINK=/usr/bin/nightscout-tool TOOL_LINK=/usr/bin/nightscout-tool
UPDATES_DIR=/srv/nightscout/updates UPDATES_DIR=/srv/nightscout/updates
SCRIPT_VERSION="1.6.1" #auto-update SCRIPT_VERSION="1.7.0" #auto-update
SCRIPT_BUILD_TIME="2023.10.08" #auto-update SCRIPT_BUILD_TIME="2023.10.20" #auto-update
#======================================= #=======================================
# SETUP # SETUP
@ -527,6 +527,11 @@ get_docker_status() {
} }
install_containers() { install_containers() {
docker-compose --env-file /srv/nightscout/config/deployment.env -f /srv/nightscout/config/docker-compose.yml up --no-recreate -d >>$LOGTO 2>&1
}
update_containers() {
docker-compose --env-file /srv/nightscout/config/deployment.env -f /srv/nightscout/config/docker-compose.yml pull >>$LOGTO 2>&1
docker-compose --env-file /srv/nightscout/config/deployment.env -f /srv/nightscout/config/docker-compose.yml up -d >>$LOGTO 2>&1 docker-compose --env-file /srv/nightscout/config/deployment.env -f /srv/nightscout/config/docker-compose.yml up -d >>$LOGTO 2>&1
} }
@ -867,7 +872,11 @@ prompt_api_secret() {
} }
docker_compose_up() { docker_compose_up() {
process_gauge install_containers install_containers_progress "Instalowanie Nightscouta" "Proszę czekać, trwa instalowanie kontenerów..." process_gauge install_containers install_containers_progress "Uruchamianie Nightscouta" "Proszę czekać, trwa uruchamianie kontenerów..."
}
docker_compose_update() {
process_gauge update_containers install_containers_progress "Uruchamianie Nightscouta" "Proszę czekać, trwa aktualizacja kontenerów..."
} }
docker_compose_down() { docker_compose_down() {
@ -1102,7 +1111,7 @@ version_menu() {
docker_compose_down docker_compose_down
ohai "Changing Nightscout container tag from: $ns_tag to: $CHOICE" ohai "Changing Nightscout container tag from: $ns_tag to: $CHOICE"
dotenv-tool -pmr -i $ENV_FILE_DEP -- "NS_NIGHTSCOUT_TAG=$CHOICE" dotenv-tool -pmr -i $ENV_FILE_DEP -- "NS_NIGHTSCOUT_TAG=$CHOICE"
docker_compose_up docker_compose_update
whiptail --title "Zmieniono wersję Nightscout" --msgbox "$(center_multiline "Zmieniono wersję Nightscout na: $CHOICE\n\nSprawdź czy Nightscout działa poprawnie, w razie problemów:\n${uni_bullet}aktualizuj kontenery\n${uni_bullet}spróbuj wyczyścić bazę danych\n${uni_bullet}wróć do poprzedniej wersji ($ns_tag)" 65)" 13 70 whiptail --title "Zmieniono wersję Nightscout" --msgbox "$(center_multiline "Zmieniono wersję Nightscout na: $CHOICE\n\nSprawdź czy Nightscout działa poprawnie, w razie problemów:\n${uni_bullet}aktualizuj kontenery\n${uni_bullet}spróbuj wyczyścić bazę danych\n${uni_bullet}wróć do poprzedniej wersji ($ns_tag)" 65)" 13 70
break break
fi fi
@ -1146,7 +1155,7 @@ uninstall_menu() {
if ! [ $? -eq 1 ]; then if ! [ $? -eq 1 ]; then
nano $ENV_FILE_NS nano $ENV_FILE_NS
docker_compose_down docker_compose_down
docker_compose_up docker_compose_update
fi fi
fi fi
;; ;;
@ -1162,7 +1171,7 @@ uninstall_menu() {
docker_compose_down docker_compose_down
dialog --title " Czyszczenie bazy danych " --infobox "\n Usuwanie plików bazy\n ... Proszę czekać ..." 6 32 dialog --title " Czyszczenie bazy danych " --infobox "\n Usuwanie plików bazy\n ... Proszę czekać ..." 6 32
rm -r "${MONGO_DB_DIR:?}/data" rm -r "${MONGO_DB_DIR:?}/data"
docker_compose_up docker_compose_update
fi fi
;; ;;
"D)") "D)")
@ -1223,13 +1232,14 @@ main_menu() {
local quickStatus=$(center_text "Nightscout: $(get_container_status 'ns-server')" 55) local quickStatus=$(center_text "Nightscout: $(get_container_status 'ns-server')" 55)
local quickVersion=$(center_text "Wersja: $ns_tag" 55) local quickVersion=$(center_text "Wersja: $ns_tag" 55)
local quickDomain=$(center_text "Domena: $(get_domain_status 'ns-server')" 55) local quickDomain=$(center_text "Domena: $(get_domain_status 'ns-server')" 55)
local CHOICE=$(whiptail --title "Zarządzanie Nightscoutem" --menu "\n$quickStatus\n$quickVersion\n$quickDomain\n" 19 60 8 \ local CHOICE=$(whiptail --title "Zarządzanie Nightscoutem :: $SCRIPT_VERSION" --menu "\n$quickStatus\n$quickVersion\n$quickDomain\n" 20 60 9 \
"1)" "Status kontenerów i logi" \ "1)" "Status kontenerów i logi" \
"2)" "Pokaż port i API SECRET" \ "2)" "Pokaż port i API SECRET" \
"3)" "Aktualizuj system" \ "S)" "Aktualizuj system" \
"4)" "Aktualizuj to narzędzie" \ "N)" "Aktualizuj to narzędzie" \
"5)" "Aktualizuj kontenery" \ "K)" "Aktualizuj kontenery" \
"6)" "Zmień lub odinstaluj" \ "R)" "Uruchom ponownie kontenery" \
"Z)" "Zmień lub odinstaluj" \
"I)" "O tym narzędziu..." \ "I)" "O tym narzędziu..." \
"X)" "Wyjście" \ "X)" "Wyjście" \
--ok-button="$uni_select" --cancel-button="$uni_exit" \ --ok-button="$uni_select" --cancel-button="$uni_exit" \
@ -1244,7 +1254,7 @@ main_menu() {
local ns_api_secret=$(dotenv-tool -r get -f $ENV_FILE_NS "API_SECRET") local ns_api_secret=$(dotenv-tool -r get -f $ENV_FILE_NS "API_SECRET")
whiptail --title "Podgląd konfiguracji Nightscout" --msgbox "\n Port usługi Nightscout: $ns_external_port\n API_SECRET: $ns_api_secret" 10 60 whiptail --title "Podgląd konfiguracji Nightscout" --msgbox "\n Port usługi Nightscout: $ns_external_port\n API_SECRET: $ns_api_secret" 10 60
;; ;;
"3)") "S)")
ohai "Updating package list" ohai "Updating package list"
dialog --title " Aktualizacja systemu " --infobox "\n Pobieranie listy pakietów\n ..... Proszę czekać ....." 6 33 dialog --title " Aktualizacja systemu " --infobox "\n Pobieranie listy pakietów\n ..... Proszę czekać ....." 6 33
apt-get -yq update >>$LOGTO 2>&1 apt-get -yq update >>$LOGTO 2>&1
@ -1252,14 +1262,18 @@ main_menu() {
dialog --title " Aktualizacja systemu " --infobox "\n Instalowanie pakietów\n ... Proszę czekać ..." 6 33 dialog --title " Aktualizacja systemu " --infobox "\n Instalowanie pakietów\n ... Proszę czekać ..." 6 33
apt-get -yq upgrade >>$LOGTO 2>&1 apt-get -yq upgrade >>$LOGTO 2>&1
;; ;;
"4)") "N)")
update_if_needed "Wszystkie pliki narzędzia są aktualne" update_if_needed "Wszystkie pliki narzędzia są aktualne"
;; ;;
"5)") "K)")
docker_compose_down
docker_compose_update
;;
"R)")
docker_compose_down docker_compose_down
docker_compose_up docker_compose_up
;; ;;
"6)") "Z)")
uninstall_menu uninstall_menu
;; ;;
"I)") "I)")
@ -1294,7 +1308,7 @@ install_or_menu() {
if [ "$freshInstall" -gt 0 ]; then if [ "$freshInstall" -gt 0 ]; then
ohai "Instalowanie Nightscout..." ohai "Instalowanie Nightscout..."
docker_compose_up docker_compose_update
setup_firewall_for_ns setup_firewall_for_ns
domain_setup domain_setup
# admin_panel_promo # admin_panel_promo

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
### version: 1.6.1 ### version: 1.7.0
# ~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.# # ~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.#
# Nightscout Mikr.us setup script # # Nightscout Mikr.us setup script #

@ -1 +1 @@
2023-10-08T11:40:41.921Z 2023-10-20T19:45:50.827Z
Loading…
Cancel
Save