Przejdź do treści

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)"
⌛ Cierpliwie poczekaj na pojawienie się pierwszego okienka dialogowego. Narzędzie instaluje wszystkie niezbędne zależności - może to potrwać kilka minut.

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.

Klucz API

✏ ☝ 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

Ustawienia domeny

☝ ✏ 🟩 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 wpisujemy 4000 (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:

Ustawienia 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 stabilnej
  • develop 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ą:

  1. Dodaj flagę -d przy uruchamianiu skryptu:

    nightscout-tool -d
    

  2. wybierz N) Aktualizuj to narzędzie

  3. w dialogu ujrzysz możliwość aktualizacji z wersji np.: 1.8.0 ➡ 1.9.0, wybierz Aktualizuj

  4. Wyjdź i uruchom skrypt ponownie komendą (już bez flagi):

    nightscout-tool
    

Przełączanie na wersję stabilną

Aby przełączyć narzędzie na wersję stabilną:

  1. Dodaj flagę -p przy uruchamianiu skryptu:

    nightscout-tool -p
    

  2. wybierz U) Aktualizuj...

  3. wybierz N) Aktualizuj to narzędzie

  4. w dialogu ujrzysz możliwość de-aktualizacji, wybierz Aktualizuj

  5. 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