whiptail --title "Witamy" --yesno "Ten skrypt zainstaluje Nightscout na bieżącym serwerze mikr.us\n\nJeśli na tym serwerze istnieje już instalacja Nightscout - ten skrypt spróbuje ją przekonfigurować" --yes-button "$uni_start" --no-button "$uni_exit"1270
whiptail --title "Witamy" --yesno "Ten skrypt zainstaluje Nightscout na bieżącym serwerze mikr.us\n\nJeśli na tym serwerze jest już Nightscout \n- ten skrypt umożliwia jego aktualizację oraz diagnostykę." --yes-button "$uni_start" --no-button "$uni_exit"1270
exit_on_no_cancel
exit_on_no_cancel
}
}
@ -324,7 +344,7 @@ prompt_mikrus_host() {
prompt_mikrus_apikey(){
prompt_mikrus_apikey(){
if ! [["$MIKRUS_APIKEY"=~ [0-9a-fA-F]{40}]];then
if ! [["$MIKRUS_APIKEY"=~ [0-9a-fA-F]{40}]];then
whiptail --title "Przygotuj klucz API" --msgbox "Do zarządzania mikrusem [$MIKRUS_HOST] potrzebujemy klucz API.\n\n${uni_bullet}otwórz nową zakładkę w przeglądarce,\n${uni_bullet}wejdź do panelu administracyjnego swojego Mikr.us-a,\n${uni_bullet}otwórz sekcję API, pod adresem:\n\n${uni_bullet_pad}https://mikr.us/panel/?a=api\n\n${uni_bullet}skopiuj do schowka wartość klucza API"--ok-button "Mam!"1670
whiptail --title "Przygotuj klucz API" --msgbox "Do zarządzania mikrusem [$MIKRUS_HOST] potrzebujemy klucz API.\n\n${uni_bullet}otwórz nową zakładkę w przeglądarce,\n${uni_bullet}wejdź do panelu administracyjnego swojego Mikr.us-a,\n${uni_bullet}otwórz sekcję API, pod adresem:\n\n${uni_bullet_pad}https://mikr.us/panel/?a=api\n\n${uni_bullet}skopiuj do schowka wartość klucza API"1670
exit_on_no_cancel
exit_on_no_cancel
while : ;do
while : ;do
@ -351,13 +371,82 @@ prompt_mikrus_apikey() {
fi
fi
}
}
prompt_api_secret(){
API_SECRET=$(dotenv-tool -r get -f $ENV_FILE_NS"API_SECRET")
if ! [["$API_SECRET"=~ [a-zA-Z0-9%+=./:=@_]{12,}]];then
while : ;do
CHOICE=$(whiptail --title "Ustal API SECRET" --menu "\nUstal bezpieczny API_SECRET, tajne główne hasło zabezpieczające dostęp do Twojego Nightscouta\n"13702\
whiptail --title "Zapisz API SECRET" --msgbox "Zapisz poniższy wygenerowany API SECRET w bezpiecznym miejscu, np.: managerze haseł:\n\n\n $API_SECRET"1250
;;
"2)")
while : ;do
API_SECRET=$(whiptail --title "Podaj API SECRET" --inputbox "\nWpisz API SECRET do serwera Nightscout:\n${uni_bullet}Upewnij się że masz go zapisanego np.: w managerze haseł\n${uni_bullet}Użyj conajmniej 12 znaków: małych i dużych liter i cyfr\n\n" --cancel-button "Anuluj"1275 3>&1 1>&2 2>&3)
API_SECRET_CHECK=$(whiptail --title "Podaj ponownie API SECRET" --inputbox "\nDla sprawdzenia, wpisz ustalony przed chwilą API SECRET\n\n" --cancel-button "Anuluj"1165 3>&1 1>&2 2>&3)
whiptail --title "$uni_excl Nieprawidłowe API SECRET $uni_excl" --yesno "Podana wartości API SECRET różni się od poprzedniej!\nChcesz podać ponownie?\n" --yes-button "$uni_reenter" --no-button "$uni_noenter"960
if[$? -eq 1];then
API_SECRET=''
break
fi
fi
done
done
fi
}
#=======================================
#=======================================
# MAIN SCRIPT
# MAIN SCRIPT
#=======================================
#=======================================
setup_update_repo
#setup_update_repo
check_git
check_git
check_docker
check_docker
check_docker_compose
check_docker_compose
@ -367,11 +456,54 @@ setup_packages
setup_node
setup_node
setup_users
setup_users
setup_dir_structure
setup_dir_structure
download_conf
source_admin
source_admin
prompt_welcome
prompt_welcome
prompt_mikrus_host
prompt_mikrus_host
prompt_mikrus_apikey
prompt_mikrus_apikey
prompt_api_secret
calculate(){
docker compose --env-file /srv/nightscout/config/deployment.env -f /srv/nightscout/config/docker-compose up -d