Stawianie Nightscout – na własnym serwerze

Pełna instrukcja: od zakupu serwera, aż po uruchomienie bogatej konfiguracji Nightscouta (w tym mostu Dexcom) za pomocą czystego Dockera. Oraz użycie domeny ns.techdiab.pl


Etap 1: Wykupienie serwera na Mikr.us

Zaczynamy od zdobycia Twojego wirtualnego kawałka internetu.

  1. Wejdź na stronę mikr.us.
  2. Zapoznaj się z ofertą i kliknij przycisk rejestracji / zamówienia.
  3. Wybór pakietu: Do uruchomienia Nightscouta z lokalną bazą MongoDB zaleca się wykupienie pakietu Mikr.us 3.0, który ma nieco więcej pamięci RAM – 2GB (najtańsze pakiety rzędu 256 MB mogą mieć „czkawkę” przy bazie danych, więc warto rozważyć pakiet wyższy).
  4. Przejdź przez proces zakładania konta i opłać serwer na wybrany okres (np. rok).
  5. Po zaksięgowaniu wpłaty otrzymasz e-mail z danymi dostępowymi. Znajdziesz w nim:
    • Adres IP Twojego serwera.
    • Dane do panelu administracyjnego na stronie (login i hasło).
    • Dane do logowania przez SSH (login: root, hasło oraz dedykowany port SSH – na Mikr.usie port SSH to rzadko standardowe 22, zazwyczaj to ciąg 5 cyfr).

Etap 2: Wgranie gotowego systemu (Panel Mikr.us)

Wykorzystamy gotowe rozwiązanie przygotowane przez twórców Mikr.usa, które samo wgra system operacyjny, wewnętrzną sieć Dockera i bazę danych MongoDB.

  1. Zaloguj się do panelu administracyjnego na stronie Mikr.us.
  2. Na stronie głównej panelu odszukaj sekcję z Twoimi Portami (będą to np. trzy numery: 10200, 10201, 10202). Zapisz pierwszy z nich – będzie to port Twojego Nightscouta.
  3. W menu po lewej stronie wybierz zakładkę Reinstalacja.
  4. Z listy dostępnych gotowych obrazów wybierz opcję Nightscout i potwierdź wykonanie akcji.
  5. Proces potrwa kilka-kilkanaście minut. Mikr.us sformatuje dysk i postawi podstawy usługi.
  6. Po zakończeniu reinstalacji otrzymasz (na ekranie lub e-mailem) nowe hasło root do serwera.

Etap 3: Podpięcie darmowej domeny z kłódką (SSL)

Zrobimy to od razu w panelu, żeby strona była gotowa na przyjęcie danych.

  1. W panelu Mikr.us przejdź do zakładki Domeny / WWW (często nazwane Reverse Proxy).
  2. Dodaj nowy wpis formularza:
    • Domena: Wpisz wybraną nazwę, korzystając z dostępnych darmowych końcówek dla diabetyków, np. cukry-jana.ns.techdiab.pl.
    • Port docelowy (Target port): Wpisz pierwszy port, który zanotowałeś w Etapie 2 (np. 10200).
  3. Zapisz. System potrzebuje kilku minut, aby wygenerować w tle darmowy certyfikat SSL.

Etap 4: Logowanie przez WebSSH i konfiguracja Nightscouta

Gotowy obraz Mikr.usa uruchomił domyślnego Nightscouta ze słabym hasłem. Musimy go usunąć i postawić Twoją wersję z wtyczką Dexcom Bridge. Zrobimy to bezpośrednio z panelu na stronie.

Etap 4: Logowanie przez WebSSH i konfiguracja Nightscouta
Gotowy obraz Mikr.usa uruchomił domyślnego Nightscouta ze słabym hasłem. Musimy go usunąć i postawić Twoją wersję z wtyczką Dexcom Bridge. Zrobimy to bezpośrednio z panelu na stronie.

Będąc zalogowanym w panelu administracyjnym Mikr.us, w menu po lewej stronie odszukaj i kliknij zakładkę WebSSH (lub Konsola).

Na ekranie pojawi się czarne okno terminala. Jeśli system poprosi o zalogowanie, wpisz login root i wciśnij Enter, a następnie wpisz nowe hasło, które otrzymałeś po reinstalacji, i znów wciśnij Enter. (Uwaga: podczas wpisywania hasła w Linuksie nie pojawiają się żadne gwiazdki ani kropki – system jednak rejestruje klawisze).

Zatrzymaj i usuń aktualnie działający, domyślny kontener, wpisując komendę i zatwierdzając Enterem:


docker rm -f ns-server


Przygotuj w Notatniku na swoim komputerze poniższą komendę. Zmień w niej hasła, loginy i porty na swoje własne (zwróć szczególną uwagę na fragmenty z Wpisz_… oraz TWÓJ_PORT_Z_MIKRUSA):


docker run -d --name ns-server \
--network config_ns-tier \
-e 'MONGODB_URI=mongodb://ns-database/nightscout' \
-e 'API_SECRET=Wpisz_Swoje_Trudne_Haslo_Nightscout123' \
-e 'DISPLAY_UNITS=mg/dl' \
-e 'ENABLE=bridge careportal food bwp profile cage pump sage iage iob cob basal avg' \
-e 'DEVICESTATUS_ADVANCED=true' \
-e 'BRIDGE_USER_NAME=Wpisz_Login_Do_Konta_Dexcom' \
-e 'BRIDGE_PASSWORD=Wpisz_Haslo_Do_Konta_Dexcom' \
-e 'BRIDGE_SERVER=EU' \
-e 'NODE_ENV=production' \
-p TWÓJ_PORT_Z_MIKRUSA:1337 \
--restart always \
nightscout/cgm-remote-monitor:latest

Skopiuj przygotowaną i uzupełnioną komendę z Notatnika.

Wróć do przeglądarki z otwartym WebSSH i wklej komendę. (W konsolach przeglądarkowych standardowe Ctrl+V czasem nie działa – spróbuj kliknąć prawym przyciskiem myszy i wybrać „Wklej” lub użyć skrótu Shift + Insert na klawiaturze).

Wciśnij Enter.

Docker zaktualizuje pliki, wepnie się w istniejącą sieć config_ns-tier, połączy z bazą danych i uruchomi Nightscouta, łącząc się od razu z chmurą Dexcom. Po około minucie wejdź na swój adres WWW w przeglądarce. Twoja strona będzie gotowa i bezpieczna!

Po około minucie wejdź na swoją stronę (np. [https://cukry-jana.ns.techdiab.pl](https://cukry-jana.ns.techdiab.pl)). Twoja instalacja jest kompletna i odczyty z Dexcomu powinny już spływać!

Komenda kombajn do uruchomienia/naprawiania Nightscout

Ta komenda to prawdziwy „kombajn”! Jest świetna, ponieważ robi wszystko w jednym kroku: nie potrzebujesz osobnego pliku .env, wszystkie parametry ładujesz od razu z konsoli, podłączasz się do wewnętrznej bazy danych i – co najważniejsze – uruchamiasz wtyczkę Bridge, która pobiera cukry prosto z serwerów Dexcom Share (bez konieczności używania aplikacji-mostu na telefonie).

Zwróć uwagę, że ta komenda zakłada, iż wewnętrzna sieć (config_ns-tier) oraz baza danych (ns-databasezostały już wcześniej utworzone (prawdopodobnie przez skrypt instalacyjny Mikr.usa).

Oto instrukcja krok po kroku, jak poprawnie użyć tej komendy.


Krok 1: Usunięcie starej wersji

Zanim uruchomisz nową, bogatą komendę, musisz zrobić dla niej miejsce i upewnić się, że stary kontener o nazwie ns-server nie blokuje portów.

  1. Zaloguj się na serwer przez SSH.
  2. Zatrzymaj i usuń stary kontener (tak jak robiłeś to wcześniej):Bashdocker rm -f ns-server

Krok 2: Dostosowanie parametrów (Notatnik)

Skopiuj poniższą komendę najpierw do Notatnika na swoim komputerze, aby uzupełnić ją o swoje prywatne dane. Zmieniłem port z 4000 na wyraźny znak, że musisz tam wstawić swój port z Mikr.usa.

Bash

docker run -d --name ns-server \
  --network config_ns-tier \
  -e 'MONGODB_URI=mongodb://ns-database/nightscout' \
  -e 'API_SECRET=Wpisz_Swoje_Trudne_Haslo_Nightscout123' \
  -e 'DISPLAY_UNITS=mg/dl' \
  -e 'ENABLE=bridge careportal food bwp profile cage pump sage iage iob cob basal avg' \
  -e 'DEVICESTATUS_ADVANCED=true' \
  -e 'BRIDGE_USER_NAME=Wpisz_Login_Do_Konta_Dexcom' \
  -e 'BRIDGE_PASSWORD=Wpisz_Haslo_Do_Konta_Dexcom' \
  -e 'BRIDGE_SERVER=EU' \
  -e 'NODE_ENV=production' \
  -p TWÓJ_PORT_Z_MIKRUSA:1337 \
  --restart always \
  nightscout/cgm-remote-monitor:latest

Co musisz podmienić przed wklejeniem do konsoli?

  • Wpisz_Swoje_Trudne_Haslo_Nightscout123: Zmień na własne hasło do strony Nightscout (min. 12 znaków).
  • Wpisz_Login_Do_Konta_Dexcom: Wpisz swój login do usługi Dexcom.
  • Wpisz_Haslo_Do_Konta_Dexcom: Wpisz swoje hasło do konta Dexcom. (Parametr BRIDGE_SERVER=EU jest już poprawnie ustawiony dla kont europejskich).
  • TWÓJ_PORT_Z_MIKRUSA: Wpisz swój przydzielony port w panelu Mikr.us (np. 10200). Jeśli aplikacja ma nasłuchiwać na porcie 4000, zostaw 4000.

Krok 3: Uruchomienie komendy

  1. Skopiuj całą, dostosowaną przez Ciebie komendę z Notatnika.
  2. Wklej ją do konsoli SSH i wciśnij Enter.

Docker pobierze najnowszą wersję obrazu (jeśli jej nie ma), połączy się ze wskazaną siecią i bazą danych, a następnie uruchomi usługę w tle, łącząc się od razu z chmurą Dexcomu.

Krok 4: Sprawdzenie logów (Opcjonalne, ale zalecane)

Ponieważ używasz Dexcom Bridge, warto sprawdzić, czy Nightscout pomyślnie zalogował się na serwery Dexcom. Po uruchomieniu komendy odczekaj około minuty, a następnie wpisz:

Bash

docker logs ns-server

Na ekranie przewiną się logi. Poszukaj linijek z napisem bridge. Jeśli nie ma tam błędów logowania (np. bad password), oznacza to, że odczyty zaczęły już spływać.

Zakończenie

Twoja aplikacja wstała! Teraz wystarczy upewnić się, że w panelu WWW Mikr.usa (w zakładce Domeny / WWW) domena (np. z DuckDNS lub ns.techdiab.pl) kieruje poprawnie na port, który wpisałeś w kroku 2 (czyli to, co wpisałeś w miejscu TWÓJ_PORT_Z_MIKRUSA). Wejdź na swój adres – cukry z Dexcomu powinny być już widoczne na wykresie!

Użycie darmowej domeny ns.techdiab.pl

To świetny wybór i ogromne ułatwienie! Wykorzystanie darmowych domen dostarczanych przez społeczność (jak np. ns.techdiab.pl stworzona z myślą o diabetykach) lub sam system Mikr.us sprawia, że możesz całkowicie pominąć zakładanie kont na zewnętrznych stronach typu DuckDNS.

Wszystko załatwiasz od razu w jednym miejscu – w panelu administracyjnym swojego serwera. Zastępuje to Krok 4 z poprzedniej instrukcji.

Oto jak dokładnie podpiąć taką domenę po zainstalowaniu i uruchomieniu Nightscouta:

Krok 1: Sprawdzenie portu aplikacji

Twój Nightscout już działa w tle, ale musisz wiedzieć, na którym „kanale” (porcie) nasłuchuje.

  1. Zaloguj się do panelu administracyjnego Mikr.us.
  2. Na stronie głównej panelu znajdź sekcję z przypisanymi do Twojego serwera portami (zazwyczaj są to trzy numery, np. 102001020110202).
  3. Zapisz lub skopiuj pierwszy z nich (gotowy obraz Nightscouta z Mikr.usa domyślnie używa właśnie tego pierwszego portu).

Krok 2: Podpięcie domeny i Proxy w panelu

Teraz połączymy ładny adres WWW z tym konkretnym portem, a Mikr.us automatycznie dołoży do tego kłódkę bezpieczeństwa (certyfikat SSL).

  1. W menu po lewej stronie kliknij zakładkę Domeny / WWW (często oznaczaną też jako Reverse Proxy).
  2. Przejdź do formularza dodawania nowej strony/domeny.
  3. Wypełnij odpowiednio pola:
    • Domena: Tutaj wpisujesz swoją wymyśloną nazwę połączoną z darmową końcówką. Jeśli chcesz użyć ns.techdiab.pl, wpisz np.: cukry-jana.ns.techdiab.pl (zamiast cukry-jana wpisz dowolny własny przedrostek bez spacji i polskich znaków).
    • Port docelowy (Target port): Wpisz numer portu skopiowany w Kroku 1 (np. 10200).
  4. Kliknij przycisk Zapisz lub Dodaj.

Zakończenie i certyfikat SSL

Gotowe! Teraz musisz uzbroić się w odrobinę cierpliwości.

System Mikr.usa potrzebuje zazwyczaj od 2 do 5 minut, aby zaktualizować ustawienia sieciowe w tle i wygenerować dla Twojej nowej domeny darmowy certyfikat SSL (Let’s Encrypt).

Po kilku minutach otwórz przeglądarkę i wpisz swój nowy adres (np. [https://cukry-jana.ns.techdiab.pl](https://cukry-jana.ns.techdiab.pl)). Zobaczysz czarny ekran powitalny swojego prywatnego Nightscouta, logujesz się swoim API_SECRET i możesz bezpiecznie spiąć go z aplikacją w telefonie.

0
Chętnie poznam Twoje przemyślenia, skomentuj.x