You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
119 lines
4.8 KiB
Bash
119 lines
4.8 KiB
Bash
#=======================================
|
|
# SETUP UI
|
|
#=======================================
|
|
|
|
docker_compose_up() {
|
|
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() {
|
|
process_gauge uninstall_containers uninstall_containers_progress "Zatrzymywanie Nightscouta" "Proszę czekać, trwa zatrzymywanie i usuwanie kontenerów..."
|
|
}
|
|
|
|
setup_done() {
|
|
whiptail --title "Gotowe!" --yesno --defaultno " Możesz teraz zamknąć to narzędzie lub wrócić do menu.\n Narzędzie dostępne jest też jako komenda konsoli:\n\n nightscout-tool" --yes-button "$uni_menu" --no-button "$uni_finish" 12 70
|
|
exit_on_no_cancel
|
|
main_menu
|
|
}
|
|
|
|
domain_setup_manual() {
|
|
ns_external_port=$(dotenv-tool -r get -f "$ENV_FILE_DEP" "NS_PORT")
|
|
whiptail --title "Ustaw domenę" --msgbox "Aby Nightscout był widoczny z internetu ustaw subdomenę:\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ę [Subdomeny], pod adresem:\n\n${uni_bullet_pad} https://mikr.us/panel/?a=domain\n\n${uni_bullet}w pole nazwy wpisz dowolną własną nazwę\n${uni_bullet_pad}(tylko małe litery i cyfry, max. 12 znaków)\n${uni_bullet}w pole numer portu wpisz:\n${uni_bullet_pad}\n $ns_external_port\n\n${uni_bullet}kliknij [Dodaj subdomenę] i poczekaj do kilku minut" 22 75
|
|
}
|
|
|
|
domain_setup() {
|
|
|
|
local domain=$(get_td_domain)
|
|
local domainLen=${#domain}
|
|
if ((domainLen > 15)); then
|
|
msgcheck "Subdomena jest już skonfigurowana ($domain)"
|
|
okdlg "Subdomena już ustawiona" \
|
|
"Wykryto poprzednio skonfigurowaną subdomenę:" \
|
|
"${TL}$domain" \
|
|
"${TL}Strona Nightscout powinna być widoczna z internetu."
|
|
return
|
|
fi
|
|
|
|
ns_external_port=$(dotenv-tool -r get -f "$ENV_FILE_DEP" "NS_PORT")
|
|
whiptail --title "Ustaw subdomenę" --msgbox "Aby Nightscout był widoczny z internetu ustaw adres - subdomenę:\n\n [wybierz].ns.techdiab.pl\n\nWybrany początek subdomeny powinien:\n${uni_bullet}mieć długość od 4 do 12 znaków\n${uni_bullet}zaczynać się z małej litery,\n${uni_bullet}może składać się z małych liter i cyfr\n${uni_bullet}być unikalny, charakterystyczny i łatwa do zapamiętania" 16 75
|
|
|
|
while :; do
|
|
SUBDOMAIN=''
|
|
while :; do
|
|
SUBDOMAIN=$(whiptail --title "Podaj początek subdomeny" --inputbox "\n(4-12 znaków, tylko: małe litery i cyfry)\n\n" --cancel-button "Anuluj" 12 60 3>&1 1>&2 2>&3)
|
|
|
|
if [ $? -eq 1 ]; then
|
|
break
|
|
fi
|
|
|
|
if [[ "$SUBDOMAIN" =~ ^[a-z][a-z0-9]{3,11}$ ]]; then
|
|
|
|
if printf "%s" "$SUBDOMAIN" | grep -f "$PROFANITY_DB_FILE" >>"$LOGTO" 2>&1; then
|
|
okdlg "$uni_excl Nieprawidłowa subdomena $uni_excl" \
|
|
"Podana wartość:" \
|
|
"${NL}$SUBDOMAIN" \
|
|
"${TL}jest zajęta, zarezerwowana lub niedopuszczalna." \
|
|
"${TL}Wymyśl coś innego"
|
|
SUBDOMAIN=''
|
|
continue
|
|
fi
|
|
|
|
if printf "%s" "$SUBDOMAIN" | grep -xf "$RESERVED_DB_FILE" >>"$LOGTO" 2>&1; then
|
|
okdlg "$uni_excl Nieprawidłowa subdomena $uni_excl" \
|
|
"Podana wartość:" \
|
|
"${NL}$SUBDOMAIN" \
|
|
"${TL}jest zajęta lub zarezerwowana." \
|
|
"${TL}Wymyśl coś innego"
|
|
SUBDOMAIN=''
|
|
continue
|
|
fi
|
|
|
|
break
|
|
|
|
else
|
|
okdlg "$uni_excl Nieprawidłowy początek subdomeny $uni_excl" \
|
|
"Podany początek subdomeny:" \
|
|
"${NL}$SUBDOMAIN" \
|
|
"${TL}ma nieprawidłowy format. Wymyśl coś innego"
|
|
if [ $? -eq 1 ]; then
|
|
SUBDOMAIN=''
|
|
continue
|
|
fi
|
|
fi
|
|
|
|
done
|
|
|
|
if [ "$SUBDOMAIN" == "" ]; then
|
|
domain_setup_manual
|
|
break
|
|
fi
|
|
|
|
local MHOST=$(hostname)
|
|
local APISEC=$(dotenv-tool -r get -f "$ENV_FILE_ADMIN" "MIKRUS_APIKEY")
|
|
|
|
ohai "Rejestrowanie subdomeny $SUBDOMAIN.ns.techdiab.pl"
|
|
local REGSTATUS=$(curl -sd "srv=$MHOST&key=$APISEC&domain=$SUBDOMAIN.ns.techdiab.pl" https://api.mikr.us/domain)
|
|
local STATOK=$(echo "$REGSTATUS" | jq -r ".status")
|
|
local STATERR=$(echo "$REGSTATUS" | jq -r ".error")
|
|
|
|
if ! [ "$STATOK" == "null" ]; then
|
|
msgcheck "Subdomena ustawiona poprawnie ($STATOK)"
|
|
okdlg "Subdomena ustawiona" \
|
|
"Ustawiono subdomenę:\n\n$SUBDOMAIN.ns.techdiab.pl\n($STATOK)\n\nZa kilka minut strona będzie widoczna z internetu."
|
|
break
|
|
else
|
|
msgerr "Nie udało się ustawić subdomeny ($STATERR)"
|
|
whiptail --title "$uni_excl Błąd rezerwacji domeny $uni_excl" --yesno "Nie udało się zarezerwować subdomeny:\n $STATERR\n\nChcesz podać inną subdomenę?" --yes-button "$uni_reenter" --no-button "$uni_noenter" 10 73
|
|
if [ $? -eq 1 ]; then
|
|
SUBDOMAIN=''
|
|
domain_setup_manual
|
|
break
|
|
fi
|
|
fi
|
|
done
|
|
|
|
} |