Dla zaawansowanych
Instalacja dla zaawansowanych
Jeżeli posiadasz silniejszy Mikr.us, wykorzystujesz Mikr.us-a także do innych celów lub chcesz inaczej skonfigurować system - także możesz zainstalować Nightscout używając narzędzia. W takim przypadku mogą być konieczne dodatkowe kroki, omówione w tym rozdziale.
Narzędzie instalacyjne zostało przygotowane zakładając Ubuntu 20/21/22 jako bazowy system, więc powinno działać na świeżej instalacji Mikr.us-a oraz - po przeinstalowaniu - na którymkolwiek z obrazów na bazie Ubuntu.
Obejrzyj poniższy film aby zobaczyć jak przebiega zaawansowana instalacja.
Niektóre specyficzne dla zaawansowanej instalacji kroki omówimy poniżej.
Uruchomienie instalatora
W konsoli WebSSH, po zalogowaniu, przeklej z użyciem Ctrl+C i Ctrl+V poniższą komendę i potwierdź klawiszem Enter
sudo /bin/bash -c "$(curl -fsSL https://gitea.dzienia.pl/shared/mikrus-installer/raw/branch/master/install.sh)"
Zobacz na filmie (pozycja: 25s)
Podanie klucza API serwera
Na stronie panelu administracyjnego serwera otwórz w nowej zakładce przeglądarki stronę z kluczem API serwera - albo klikając prawym przyciskiem i wybierając Otwórz link w nowej karcie
na pozycji API
, lub otwierając nową pustą zakładkę/okno przeglądarki i nawigując do strony: https://mikr.us/panel/?a=api.
Nie zamknij zakładki z WebSSH!!!
Ważne aby stronę z API otworzyć w nowej karcie - kliknięcie "po prostu" na zakładkę API
spowoduje zamknięcie strony z WebSSH i przerwie instalację.
Chcemy otworzyć stronę API aby skopiować klucz API w nowej karcie, aby móc wrócić do karty z instalatorem.
Skopiuj wartość Klucza API do schowka (zaznacz wartość myszką i naciśnij Ctrl+C)
Przejdź z powrotem do zakładki z instalatorem, podczas instalacji narzędzie spyta Cię o klucz API - przepisz go do pola lub po prostu wklej ze schowka (Ctrl+V)
Zobacz na filmie (pozycja: 3m 11s)
Ręczna Konfiguracja domeny
Oprócz domeny podpinanej przez narzędzie konsolowe, zawsze możemy ręcznie skonfigurować domenę w panelu administracyjnym.
Dla serwerów kupionych z kodem grupowym dostępna będzie do wyboru domena *.ns.techdiab.pl
, w pozostałych przypadkach możemy ustawić subdomenę na jednej z darmowych domen dostarczanych z mikr.us-ami.
Otwórz w nowej karcie panel administracyjny serwera na stronie zarządzania subdomenami - zakładka Subdomeny
(prawy klik) lub otwierając w nowej karcie/przeglądarce adres: https://mikr.us/panel/?a=domain
Formularz wypełniamy następująco:
Nazwa subdomeny
- wybierz nazwę subdomeny. Może to być maksymalnie 12 znaków ze zbioru: małe litery, cyfry i znak podkreślenia_
. To część adresu Twojego Nightscouta na którą masz bezpośredni wpływ. Nazwa powinna być krótka i kojarząca się. Należy zapisać tą nazwę.Domena
- wybierz domenę główną z lisy dostępnych domen, np.:bieda.it
Nazwa może składać się jedynie z małych liter i cyfr (zaleca się aby nazwa nie zaczynała się od cyfry).Numer portu
- tu wpisujemy4000
(chyba że instalator polecił wpisać inną wartość)Port źródłowy podaje dane szyfrowane
- to pole powinno pozostać odznaczone, bo w tej konfiguracji Nightscout w Dockerze na porcie 4000 jest niezaszyfrowany, a szyfrowanie odbywa się na poziomie subdomeny (reverse proxy mikr.us-a)
Po kliknięciu Dodaj subdomenę
, jeśli ustawienia są poprawne i wybrana subdomena jest dostępna - pojawi się komunikat o dodaniu domeny:
Zgodnie z komunikatem, należy poczekać kilka minut na podpięcie domeny. Po kliknięciu Powrót do spisu subdomen
na liście pojawi się nasza nowa subdomena w formacie:
https://SUBDOMENA.DOMENA
Zajęta subdomena
Jeśli wybrana przez nas subdomena jest zajęta wyświetlony zostanie komunikat błędu Ta domena jest zajęta - wybierz proszę inną.
Należy wtedy spróbować wybrać inną domenę z listy lub wymyślić kolejną subdomenę i spróbować ponownie.
Watchdog
Od wersji 1.8.0 aplikacja posiada wbudowany watchdog. Jest to usługa sprawdzająca w tle, co 5 minut, czy serwer jest uruchomiony i działa poprawnie. W niektórych znanych przypadkach - kiedy serwer Nightscout lub usługa baza danych - ulegną awarii, watchdog jest w stanie wykryć problem i go naprawić. Zazwyczaj oznacza to po prostu - ponowne uruchomienie jednej lub kilku usług.
Watchdog nie jest w stanie naprawić wszystkich problemów - czasami trzeba zalogować się do serwera, i w nightscout-tool
ręcznie zrestartować kontenery, albo w panelu mikr.us-a zrestartować cały serwer.
Logi i stan watchdoga można podejrzeć w menu statusu.
Wersja rozwojowa
Jeżeli chcesz pomóc w rozwoju narzędzia nigtscout-tool
, możesz pomóc w testowaniu wersji rozwojowej.
To się może źle skończyć !!!
Przełączenie nightscout-tool
na wersję rozwojową jest ryzykowne - autorzy skryptów mogą na bieżąco zmieniać działanie skryptu oraz konfigurację Nightscouta, a zmiany mogą popsuć lub zdestabilizować serwer / bazę danych / Nightscout!
Ta wersja nie nadaje sie do używania dla głównego serwera Nightscout - wiąże się to z realnym zagrożeniem dla zdrowia i życia potencjalnych podpiętych pacjentów.
Wersja rozwojowa jest eksperymentalna i niestabilna
Wersja rozwojowa dedykowana jest dla doświadczonych użytkowników, ogarniających technologię, Nightscouta, Mikr.us-a, pracę w linii komend przez SSH/WebSSH. Nie wspieramy tej wersji, przełączając się na nią jesteś świadomy co robisz i odpowiadasz za rozwiązywanie wynikających z tego problemów.
Jeśli nie czujesz się na siłach - nie używaj tej wersji. Jeśli masz problemy z wersją stabilną - wersja rozwojowa ich nie rozwiąże, a prawdopodobnie pogłębi. Poczekaj cierpliwie aż poprawki zostaną dokończone, ustabilizowane i przetestowane przez osoby bardziej doświadczone. Nie sugeruj nikomu przejścia na wersję rozwojową jako "remedium" czy rozwiązanie jego problemu, szczególnie jeśli jest mało doświadczony - to nieodpowiedzialne!
Skrypt instalatora posiada dwa kanały aktualizacji, odpowiadające trybom działania aplikacji:
master
dla wersji stabilnejdevelop
dla wersji rozwojowej
Domyślnie skrypt używa kanału stabilnego, co widać w komunikatach przy uruchamianiu skryptu:
root@a000:~# nightscout-tool
💡 nightscout-tool version 1.x.x (202x.xx.xx)
💡 ©️ 2023-2024 Dominik Dzienia
💡 Licensed under CC BY-NC-ND 4.0
🆗 Loaded update channel: master
Informacja o kanale aktualizacji wyświetlana jest też po wybraniu opcji "I) O tym narzędziu..."
w menu głównym: wersja: 1.x.x (202x.xx.xx) master
Co istotne, nightscout-tool
jest używany na serwerze nie tylko do samej instalacji oraz późniejszej konfiguracji systemu i Nightscouta, ale także do bieżącego monitorowania działania Nightscouta, restartowania usług (funkcjonalność watchdoga). Oznacza to że zmiana kanału aktualizacji ma wpływ nie tylko na - rzadkie - interakcje "serwisowe", ale także na codzienne działanie i stabilność Nightscouta!
Instalacja wymuszona, od zera
Jeżeli chcemy używać bazowego obrazu Linuxa (Ubuntu 20/21/22), lub wymusić instalację konkretnej wersji, możemy zainstalować narzędzie komendą:
Wersję rozwojową można zainstalować komendą:
sudo /bin/bash -c "$(curl -fsSL https://gitea.dzienia.pl/shared/mikrus-installer/raw/branch/develop/install.sh)" -- -d
Wersja stabilna:
sudo /bin/bash -c "$(curl -fsSL https://gitea.dzienia.pl/shared/mikrus-installer/raw/branch/master/install.sh)" -- -p
Kluczowe jest tu podanie parametru na końcu komendy, po separatorze, tzn: -- -d
lub -- -p
.
Jeżeli aktualna wersja skryptu posiada błąd lub nie obsługuje kanałów aktualizacji, należy najpierw usunać ją na siłę komendą:
rm -f /srv/nightscout/tools/nightscout-tool
Organizacja testów
Wersja rozwojowa jest z definicji niestabilna i nie powinno się jej używać na co dzień - i poza fazą testowania.
Kiedy autorzy przygotują zestaw funkcjonalności i zmian - rozpoczynają fazę testowania, informując testerów o zmianach do przetestowania, zadaniach, znanych problemach.
Jeśli chcesz testować - upewnij się że trwa faza testowania i daj znać twórcom skryptu, aby wiedzieli kto pomaga w testach i od kogo zebrać feedback.
... a robotników mało
Grono osób chcących i będących w stanie testować nowe technologie jest zawsze bardzo małe. Za każdą z naszych aplikacji, skryptów, narzędzi stoi mała armia - często anonimowych - pasjonatów, którzy poświęcają swój prywatny czas i zasoby, aby stworzyć coś dla wspólnego dobra.
Pomoc w rozwoju ekosystemu narzędzi cukrzycowych jest szlachetnym przedsięwzięciem.
Jestem Ci BARDZO wdzięczny, że w tym pomagasz!!!
Przełączanie na wersję rozwojową
Aby przełączyć narzędzie na wersję rozwojową:
-
Dodaj flagę
-d
przy uruchamianiu skryptu:nightscout-tool -d
-
wybierz
N) Aktualizuj to narzędzie
-
w dialogu ujrzysz możliwość aktualizacji z wersji np.:
1.8.0 ➡ 1.9.0
, wybierzAktualizuj
-
Wyjdź i uruchom skrypt ponownie komendą (już bez flagi):
nightscout-tool
Przełączanie na wersję stabilną
Aby przełączyć narzędzie na wersję stabilną:
-
Dodaj flagę
-p
przy uruchamianiu skryptu:nightscout-tool -p
-
wybierz
U) Aktualizuj...
-
wybierz
N) Aktualizuj to narzędzie
-
w dialogu ujrzysz możliwość de-aktualizacji, wybierz
Aktualizuj
-
Wyjdź i uruchom skrypt ponownie komendą (już bez flagi):
nightscout-tool
Na co zwrócić uwagę
Podczas testowania wersji rozwojowej, zwróć uwagę na:
- wszystkie nietypowe zdarzenia, dziwne komunikaty
- zawieszenia skryptu, nadzwyczaj częste zawieszenia serwera
- nieczytelne/popsute dialogi
- literówki
- komunikaty o błędach w linii komend