Przejdź do treści

Instalacja

Instalacja Dockera

Przystępujemy do instalacji Dockera. Docker to narzędzie pozwalające zamykać całe aplikacje wraz z niezbędnymi zależnościami (wręcz całe, okrojone, systemy operacyjne) do kontenerów - i uruchamiać wiele takich kontenerów równocześnie i wydajnie. Wykorzystamy Dockera aby na Synology uruchomić cztery takie kontenery:

  • Portainer - aplikację www ułatwiającą zarządzanie kontenerami, bo dużo łatwiej to robić w Portainerze niż używając okienek systemowego Dockera dostarczonych przez Synology
  • MongoDB - serwer bazy danych, magazyn przechowujący dane o glikemii i inne ustawienia Nightscout
  • Database Backup - narzędzie do kopii zapasowych powyższej bazy
  • Nightscout - to po co tu jesteśmy, serwer i strona www Nightscout, opakowana w przenośny kontener Dockera

Choć wydaje się to skomplikowane, to dzięki technologii kontenerów, Dockerowi i Portainerowi - samo instalowanie i zarządzanie pozostałymi aplikacjami staje się proste. Nie musimy nic konfigurować ani aktualizować w systemie - autor kontenera zadbał, aby wszystko działało i było gotowe!

Instalacja Dockera

👣 ☝ W panelu DSM Synology, otwórz 🟧 Centrum pakietów - ta systemowy sklep z aplikacjami, których większość została przygotowana specjalnie przez Synology, może być zainstalowana na Twoim NASie i jest za darmo. Jeśli nie widzisz ikonki na pulpicie - otwórz w lewym górnym rogu panelu, podobną do: 🟧 Ikonkę palety aplikacji, gdzie na pewno znajdziesz Centrum pakietów.

W Centrum pakietów wpisz w 🟩 pole wyszukiwania frazę docker. Następnie odnajdź aplikację Docker i kliknij przycisk 🟦 Zainstaluj. Kreator instalacji może poprosić cię o dodatkową konfigurację lub potwierdzenie. Po zatwierdzeniu Docker zostanie zainstalowany a jego ikonka pojawi się na pulpicie.

Interfejs Dockera

☝ Po kliknięciu 🟦 ikonki Dockera. można zobaczyć domyślny interfejs Dockera w Synology co oznacza, że instalacja się udała.

Połączenie po SSH

Teraz pora połączyć się z SynologyNAS za pośrednictwem SSH. Na komputerze PC odpal linię komend (aplikację Terminal) i wywołaj połączenie SSH używając klienta którego zainstalowaliśmy w poprzednim rozdziale.

Polecenie powinno mieć składnię:

ssh USER@IP -p 22

✏ W powyższym poleceniu podmieniamy wartości:

  • USER - zamieniamy na login naszego użytkownika w Synology NAS (tego samego którego użyliśmy do zalogowania się do panelu www DSM)
  • IP - adres naszego urządzenia NAS w sieci lokalnej, znaleźliśmy go i zanotowaliśmy w poprzednim rozdziale
  • 22 - to port na którym skonfigurowaliśmy serwer SSH na Synology w poprzednim rozdziale. Jeśli używasz innego portu - podaj tu jego wartość

Połączenie SSH

👣 Tak przeedytowaną komendę wklejamy do wiersza poleceń 🟦 i naciskamy Enter Serwer w odpowiedzi zapyta o 🟩 hasło użytkownika Synology NAS. Podajemy hasło i naciskamy Enter Jeśli hasło jest poprawne serwer nas zaloguje i przywita.

Opcjonalnie możemy użyć komendy 🟧 cd /volume1 i potwierdzić Enter aby wejść do katalogu głównego z folderami współdzielonymi i aby upewnić się że ten katalog istnieje.

Nie wyłączaj jeszcze terminala! Będzie nam potrzebny w kolejnym kroku!

Czy mi ufasz?

Możliwe że serwer zapyta czy ufasz danemu połączeniu (po angielskiemu) - przeczytaj i potwierdź że ufasz - zazwyczaj trzeba wpisać yes lub nacisnąć Y

Świat bywa skomplikowany

Zakładam że masz standardową konfigurację i foldery współdzielone są na jedynym wolumenie jaki utworzyłeś, a jego katalog nazywa się właśnie /volume1. Jeśli jest inaczej to albo namieszało Synology i ten tutorial tego nie przewidział, albo namieszałeś Ty, więc pewnie jesteś na tyle zaawansowany że wiesz jak dostosować resztę przykładów i znaleźć gdzie u Ciebie znajduje się folder współdzielony docker który tworzyliśmy w poprzednim rozdziale 😅

Jeśli się nie uda...

  • Sprawdź czy adres IP i nazwa użytkownika są poprawne, czy nie ma literówek itp.
  • Wyłącz na chwilę Antywirusa i różne aplikacje typu Firewall/ZoneAlarm - czasami blokują one port 22.
  • Jeśli używasz komputera służbowego - może się nie udać bo firma poblokowała Ci port 22 lub ssh.
  • Pod żadnym pozorem nie rób tego po VPN bo i tak nie pójdzie - musisz być w domowej sieci lokalnej.

Instalacja Portainera

Portainer umożliwia łatwe zarządzanie kontenerami. Dzięki niemu ustawimy naszą stronę Nightscout wraz z wymaganymi zależnościami, a w razie potrzeby użyjemy go do zmiany konfiguracji. Jeśli kiedykolwiek używałeś Heroku, to Portainer będzie pełnił podobną rolę jak panel administracyjny Heroku - aby sprawdzić status, zmienić ustawienia, zajrzeć do logów lub zrestartować Nightscout.

👣 Aby zainstalować Portainera, w uprzednio otworzonym połączeniu ssh, w terminalu, wpisz (najlepiej skopiuj Ctrl+C i wklej Ctrl+V) poniższą komendę i potwierdź ją naciskając Enter.

sudo docker run -d -p 8000:8000 -p 9000:9000 --name portainer \
    --restart=always \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v /volume1/docker/data/portainer-ce:/data \
    portainer/portainer-ce:latest

👣 System zapyta Cię o hasło bieżącego użytkownika na Synology (który musi mieć uprawnienia administratora). Wpisz je i zatwierdź Enter.

** Nie zamykaj jeszcze terminala z ssh** - będzie nam jeszcze potrzebny

Co się dzieje?

Komenda ta ściągnie najnowszy obraz Portainera (portainer/portainer-ce:latest) i utworzy kontener o nazwie portainer, a jego dane i konfigurację przechowa w katalogu /volume1/docker/data/portainer-ce który stworzyliśmy w poprzednim rozdziale.

Dodatkowo, konfigurujemy Portainera aby działał lokalnie, na porcie 9000 - nie chcemy udostępniać go do internetu więc wystarczy połączenie nieszyfrowane http.

Jeżeli zechcesz mieć dostęp do Portainera poza siecią lokalną - użyj mechanizmu reverse proxy i certyfikatów aby podpiąć go na własną subdomenę analogicznie jak w przypadku domeny dla Nightscout tylko na innej poddomenie.

Możemy sprawdzić czy instalacja się udała przechodząc do panelu DSM Synology, otwierając 🟦 Dockera. W zakładce Kontener odnajdziemy 🟩 portainer w statusie uruchomiono

Uruchomiony kontener Portainera

Konfiguracja Portainera

Przy pierwszym uruchomieniu Portainer poprosi nas o ustawienie hasła administratora. Adres panelu Portainera to:

http://IP:9000

✏ W powyższym poleceniu podmieniamy wartość IP:

👣 Otwórz powyższy, dostosowany do twojej konfiguracji adres www w przeglądarce internetowej.

Pierwsze uruchomienie Portainera

🗒 ☝ Przy pierwszym uruchomieniu Portainer poprosi nas o ustawienie 🟩 hasła administratora. Hasło powinno być silne, unikalne i zapisane - najlepiej w managerze haseł (Bitwarden) lub ostatecznie w zeszycie (z opisem). Klikamy 🟦 Create user.

Następnie wybieramy którym Dockerem chcemy zarządzać - w naszym wypadku local bo to Docker na tym samym urządzeniu. Możemy to zrobić w dwóch miejscach: Wybierając z menu bocznego 🟪 Home:

Strona główna Portainera

albo w sekcji 🟧 Environments:

Środowiska Portainera

W obu ☝☝ tych przypadkach wybieramy kafelek/linię local i klikamy na odnośnik 🟩 local aby przejść do zarządzania naszym 👇 🟧 lokalnym Dockerem.

Środowisko lokalne

☝ Widzimy tu lokalne 🟩 zestawy (Stacks) - w Twoim przypadku pewnie jeszcze nie masz jeszcze żadnych stacków. Widzimy także uruchomione 🟪 kontenery - u Ciebie powinien być co najmniej jeden - bo Portainer jest uruchomiony w kontenerze 😄

Konfiguracja katalogu mongodb

Użyty przez nas kontener bazy danych mongodb wymaga, aby katalog do którego zapisuje dane należał do użytkownika 1001. Niestety Synology DSM opakowuje i trochę ukrywa numeryczne ID użytkowników, dlatego ustawienie tej wartości łatwiej zrobić z linii komend.

👣 W uprzednio otworzonym połączeniu ssh, w terminalu, wpisz (najlepiej skopiuj Ctrl+C i wklej Ctrl+V) poniższą komendę i potwierdź ją naciskając Enter

sudo chown 1001:users /volume1/docker/data/nightscout/mongodb/

System poprosi cię o podanie hasła do konta użytkownika w Synology NAS aby zatwierdzić tę operację. Aby sprawdzić czy operacja się udała, wpisz następujące komendy, za każdym razem potwierdzając Enter:

cd /volume1/docker/data/nightscout/
ls -l

Sprawdzenie uprawnień

Katalog mongodb po tej operacji powinien należeć do użytkownika 🟧 1001.

👣 Jeśli wszystko się udało możemy zamknąć terminal z połączeniem ssh komendą: exit którą potwierdzamy Enter

Instalacja Nightscout

Przygotowanie konfiguracji

Tyle przygotowań ale w końcu możemy zainstalować Nightscout. I będzie to relatywnie proste.

👣 Zaczniemy od dostosowania konfiguracji:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
version: "2"

networks:
  app-tier:
    driver: bridge

services:
  mongodb:
    restart: always
    image: "bitnami/mongodb:4.4.2"
    volumes:
      - "/volume1/docker/data/nightscout/mongodb:/bitnami/mongodb"
    networks:
      - app-tier

  dbbackup:
    restart: always
    image: "tiredofit/db-backup:latest"
    volumes:
      - "/volume1/docker/data/nightscout/backup:/backup"
    environment:
      - COMPRESSION="GZ"
      - COMPRESSION_LEVEL=9
      - DB_TYPE=mongo
      - DB_HOST=mongodb
      - DB_PORT=27017
      - DB_CLEANUP_TIME=10080
    networks:
      - app-tier

  nightscout:
    restart: always
    image: "nightscout/cgm-remote-monitor:latest"
    environment:
      - API_SECRET=TUTAJTWOJAPISECRET #(1)
      - MONGO_CONNECTION=mongodb://mongodb/admin
      - PORT=1337
      - INSECURE_USE_HTTP=true
      - ENABLE=cors careportal boluscalc food bwp cage sage iage iob cob basal rawbg pushover bgi pump openaps #(2)
      - DEVICESTATUS_ADVANCED=true
      - SHOW_FORECAST=openaps
      - PUMP_FIELDS=reservoir battery clock #(2)
    networks:
      - app-tier
    ports:
      - 8085:1337 #(3)
  1. ✏ Tutaj musimy obowiązkowo zmienić i podać nasz własny, bezpieczny API_SECRET
  2. ✏ Dokładna konfiguracja pola ENABLE i PUMP_FIELDS zależy od naszych potrzeb. Więcej szczegółów znajdziesz w oficjalnej dokumentacji Nightscout
  3. W tym tutorialu otwieramy nasz Nightscout na porcie 8085, ale możesz wybrać inny port - o ile ustawisz go na routerze

✏ W powyższej konfiguracji zmieniamy:

  • pole API_SECRET - zmieniamy wartość TUTAJTWOJAPISECRET na nasz własny, unikalny i bezpieczny API SECRET - czyli najlepiej mocno losowe literki i cyferki ze zbioru: (a-z, A-Z, 0-9) o długości co najmniej 12 znaków - na stronie z dokumentacją Nightscout jest więcej wskazówek jak stworzyć silny API SECRET oraz jak zabezpieczyć nasz Nightscout. Najlepiej wylosuj je z użyciem generatora haseł np.: tego który jest wbudowany w Bitwarden - a potem oczywiście 🗒 zapisz sobie w managerze haseł (lub zeszycie) ten nowy API_SECRET
  • pole ENABLE - czyli klucze uruchamiające różne niezbędne opcje i pluginy w Nightscout. Konfiguracja Nightscout wykracza poza zakres tego tutoriala - na grupie Technologie Diabetyka i w internetach jest wiele stron i poradników w tym temacie. Wartości tego pola są też opisane w oficjalnej dokumentacji Nightscout
  • 8085 - to port na którym udostępnimy naszą stronę Nightscout. 🗒 zapisz tą wartość - będzie nam potrzebna w dalszych krokach konfiguracji i... aby używać strony Nightscout - będzie to część adresu strony w sieci lokalnej
  • inne pola w sekcji environment: - tu możemy zmieniać tzw. zmienne środowiskowe, niektóre z nich dodatkowo konfigurują działanie Nightscout, zajrzyj do oficjalnej dokumentacji Nightscout jeśli będziesz potrzebować coś zmienić

Nie bądź idiotą!

Sorki za dosadność, ale doświadczenie pokazuje że ludzie nie czytają ze zrozumieniem i przeklejają wszystko 1:1 🤦‍♂️ bez czytania 🙄, dlatego aby mieć pewność że się rozumiemy - w powyższym przykładzie należy ✏ zastąpić literki TUTAJTWOJAPISECRET na własny, unikalny i bezpieczny nowy kod który specjalnie w tym celu wygenerowano

Jeżeli nie zmienisz tej wartości, każdy będzie mógł wejść na Twoją stronę, uwierzytelnić się wpisując jako token wartość TUTAJTWOJAPISECRET z przykładu i potencjalnie ☠ zrobić Tobie zdalnie krzywdę! Dlatego jeszcze raz - nie bądź 🤪 idiotą i zmień tę wartość!

Czy wspominałem że masz obowiązkowo zmienić TUTAJTWOJAPISECRET?

O co chodzi w tej konfiguracji?

Ten plik to tzw. plik docker-compose, pozwala on skonfigurować stack (czyli taki zestaw) powiązanych kontenerów. W naszej konfiguracji nasz stack będzie miał trzy kontenery: nightscout, bazę danych i narzędzie do kopii zapasowych bazy danych. Plik ten poinstruuje Portainera i Dockera gdzie znaleźć źródłowe szablony (obrazy) tych kontenerów (image), jak skonfigurować każdy z nich (environment) i jak je powiązać (networks). Dodatkowo, wskazujemy gdzie kontenery mają zapisywać pliki (volumes) - użyte są tu katalogi które wcześniej przygotowaliśmy.

Moje Synology jest jakieś inne...

Podczas testów okazało się że szczególnie kapryśna jest baza danych. Dlatego tutaj "zamroziliśmy" ją na wersji 4.4.2 w linii image: "bitnami/mongodb:4.4.2". U mnie działa też wersja latest czyli 4.4.9-debian-10-r20 ale... tylko u mnie 😄 Więc lepiej nie kusić losu i pozostać przy sprawdzonej przez grupowiczów wersji stabilnej.

A ja wolę MongoDB w chmurze na Atlasie

W tym tutorialu pokazujemy jak postawić wszystkie niezbędne komponenty (Nightscout, bazę danych MongoDB i kopie zapasowe bazy) u siebie na Synology. Jeśli jednak chcesz korzystać z bazy MongoDB w chmurze (aby zachować ciągłość historii, większą odporność na awarię) a jednocześnie masz już wykupione konto MongoDB Atlas - lub darmowy tier zadowala Twoje potrzeby - możesz w łatwy sposób dostosować konfigurację powyżej, aby tylko Nightscout działał u Ciebie na Synology:

  1. usuń sekcje mongodb: i dbbackup: czyli całkiem skasuj linie 8..29
  2. w sekcji environment: ustaw pole MONGO_CONNECTION na wartość odpowiadającą parametrom połączenia do bazy danych w Atlasie, powinno to mieć mniej-więcej format:
    mongodb+srv://[login]:[password]@[znajdz.mnie].mongodb.net/[dbname]?retryWrites=true&w=majority
    ale dokładną wartość znajdziesz w Atlasie - więcej w poradniku od Pablo

Utworzenie stacku

Konfiguracja gotowa, pora ją wdrożyć!

Nowy stack

👣 ☝ W Portainerze, w sekcji 🟧 Stacks dodaj nowy stack naciskając przycisk 🟩 Add stack

Konfiguracja stacka

☝ ✏ Uzupełnij formularz. Nadaj nazwę 🟩 nightscout stackowi. W edytorze 🟧 wklej konfigurację którą przygotowaliśmy w poprzednim kroku. Włącz kontrolę dostępu 🟪 ograniczając dostęp tylko do administratorów. Na koniec - wdróż stack klikając przycisk 🟦 Deploy the stack.

Wdrażanie w toku

⌛ ☝ Teraz trzeba poczekać kilka-kilkanaście-kilkadziesiąt sekund - Portainer i Docker 🟦 wdrażają... czyli: ściągają obrazy, konfigurują kontenery i uruchamiają bazę danych i Nightscout.

Zestaw wdrożono

☝ Kiedy pojawi się zielony komunikat oznacza to że zestaw wdrożono i uruchomiono kontenery - strona będzie gotowa za kilka sekund. Przy pierwszym uruchomieniu trwa to zwykle dłużej - tworzone są tabele w bazie danych.

A u mnie nie działa...

Jeśli zamiast zielonego dymka pojawi się czerwony komunikat o błędzie - zrób zrzut ekranu jego treści - jest tam komunikat o problemach jakie napotkał Portainer przy wdrożeniu konfiguracji. Najczęstsze możliwe problemy:

  • literówki i błędy w formacie konfiguracji
  • literówki w nazwach folderów na Synology NAS (sekcja volumes) - popraw konfigurację lub nazwy folderów na Synology
  • zajęte porty (sekcja ports) - zmień konfigurację/port

Zestaw wdrożono

☝ Jeśli wszystko się uda możemy podejrzeć status stacku, w zakładce Stack widać szczegóły stacku 🟪 nightscout. Na liście kontenerów należących do tego stacku są 🟩 trzy kontenery, każdy running - czyli uruchomiony. W razie potrzeby możemy zobaczyć logi (komunikaty diagnostyczne) każdego z kontenerów klikając na małą 🟧 ikonkę strony obok nazwy kontenera.

Test w sieci lokalnej

Sprawdźmy czy serwer Nightscout poprawnie się uruchomił. Na komputerze PC wpisz w adres przeglądarki:

http://IP:8085

✏ W powyższym poleceniu podmieniamy wartość IP:

Nightscout się uruchamia

☝ Jeśli wszystko się uda - pod podanym 🟧 adresem uruchomi się Nightscout...

Brak profilu

☝ Przy świeżej instalacji strona Nightscout wykryje że nie mamy jeszcze skonfigurowanego profilu, klikamy 🟦 OK ...

Edytor profilu

☝ ... i załaduje nam się edytor profilu. Tutaj czeka nas konfiguracja profilu - ale to temat innych tutoriali na grupie Technologie Diabetyka. W każdym razie - strona działa! Przynajmniej lokalnie :)

A u mnie nie działa...

Jeśli kontener Nightscout działa ale strona pokazuje komunikat błędu, powodów może być wiele. W diagnostyce pomogą nam logi kontenerów - wspomnieliśmy o nich na końcu poprzedniego kroku - należy zajrzeć do logów nightscout_mongodb_1 - czy baza uruchomiła się poprawnie, oraz nightscout_nightscout_1 - czy sam nightscout nie zgłasza problemów z konfiguracją. Niektóre możliwe błędy:

W takim wypadku może być konieczne skasowanie kontenerów, korekta konfiguracji i ponowne wdrożenie stacku

Dostęp z internetu

Kiedy już wiemy, że strona działa w naszej sieci lokalnej - pora uwidocznić ją w internecie, aby działała w sieciach 3G, poza domem, na telefonach itd.

Statyczny lub publiczny IP

Domyślnie najczęściej dostawca internetu przydziela nam dynamiczny prywatny adres IP - czyli adres na którym wychodzimy z domu jest inny od tego pod jakim będziemy widoczni w internecie. Jest to tanie (operator współdzieli jeden adres na wielu użytkowników) ale uniemożliwia podpinanie domen lub dostęp do serwerów po ustalonym IP z zewnątrz - dlatego przy takiej konfiguracji nie podepniemy domeny.

Dlatego zazwyczaj u naszego dostawcy internetu możemy dokupić dynamiczny publiczny lub statyczny adres IP.

Podpytaj swojego ISP / dostawcę internetu

Moico   |   Netia   |   UPC   |   T-Mobile   |   Orange   |   pozostali...

W przypadku statycznego adresu IP sprawa jest prosta - kupujemy jeden globalnie widoczny adres IP i operator ustawia go aby wskazywał na internet u nas w domu (nasz router/modem od dostawcy). Ta opcja jest jednak dosyć droga i nie każdy operator ją udostępnia.

Dużo popularniejsza jest opcja z dynamicznym publicznym adresem IP. Operator ma pulę adresów IP i dynamicznie przydziela je klientom, przypisanie jest widoczne na zewnątrz ale (czasami) może się zmienić. Ta opcja jest dużo tańsza i pozwoli nam podpiąć domenę - przy odrobinie kombinacji 😄 Musimy ustawić tzw. DynDNS - narzędzie które publikuje nasz bieżący adres IP w zewnętrznym systemie i podpina pod subdomenę tego systemu, np: mojasubdomena.synology.me.

Konfiguracja routera

Aby nasz Synology DSM był widoczny pod domeną, musimy ustawić na naszym routerze port forwarding tak aby wybrane porty były przekierowywane na adres IP naszego NASa. Zazwyczaj przekierować trzeba porty: 80 oraz 443, ale także inne które będą potrzebne i które chcemy uwidocznić na świat. W naszym przypadku dodatkowo port 8123 pod którym chcemy opublikować Nightscout. Ale - im mniej tym lepiej! Tylko te które trzeba!

Ale jak to zrobić?

Niestety musisz sam doszukać się w dokumentacji swojego routera / w internecie jak ustawić przekierowanie portów i inne opcje wymienione poniżej - są dziesiątki producentów i setki modeli routerów.

Zadbaj o zabezpieczenie swojej sieci!

Warto poustawiać na routerze opcje typu: firewall, intrusion detection/protection, antispam, uniemożliwić logowanie na router na root i z zewnątrz - tylko z sieci lokalnej, ustawić logowanie wyłącznie kluczami/certyfikatami (zamiast hasłem). Oraz obowiązkowo - regularnie aktualizować oprogramowanie (firmware) routera.

Podpinając domenę uwidoczniliśmy nasz dom i Synology na świat - to wygodne ale zwiększa ryzyko bo umożliwia atakującym dostęp do naszej sieci. Zazwyczaj są to ataki głupie i zautomatyzowane - więc odrobina dbałości i ostrożnści wystarczy aby zapobiec problemom. Ale zawsze jest to koszt i problem każdego kto hostuje cokolwiek - i nas to nie ominie.

Konfiguracja domeny

W naszym przykładzie skorzystamy z sub-domeny udostępnianej nam za darmo przez Synology, którą w łatwy sposób ustawimy w Panelu DSM. Ale w tym samym miejscu możemy skonfigurować jednego z wielu alternatywnych dostawców domen DynDNS - o ile mamy u nich konto.

Ja już to mam...

Możliwe że subdomenę już masz, bo ustawiałeś ją podczas konfiguracji Synology. W takim przypadku jedynie sprawdź czy działa i jaka dokładnie jest.

Dostęp zewnętrzny

👣 ☝ W panelu DSM Synology, otwórz 🟧 Panel sterowania, sekcję 🟩 Dostęp zewnętrzny a w niej zakładkę 🟪 DDNS. Tutaj możemy zarejestrować nasz publiczny dynamiczny adres IP pod domeną korzystając z usług dostawców DynamicDNS. Kliknij 🟧 Dodaj aby utworzyć nowe powiązanie.

Provider Interface

☝ ✏ Formularz wypełniamy następująco:

  • Dostawca usługi - wybieramy z listy 🟦 Synology
  • Nazwa hosta - 🗒 musimy wybrać nazwę poddomeny, pod tą nazwą widoczne będzie na zewnątrz Synology. Nazwa może składać się jedynie z małych liter i cyfr (zaleca się aby nazwa nie zaczynała się od cyfry). Nazwa powinna być krótka i kojarząca się. Możliwe że wybrana przez nas nazwa jest zajęta - będziemy musieli wymyślić unikalną. Należy 🗒 zapisać tą nazwę - będzie to początkowa część naszego zewnętrznego adresu internetowego.
  • Zewnętrzny adres - wybieramy z listy 🟧 Auto - powinien tam być widoczny nasz zewnętrzny adres IP
  • Nazwa użytkownika, hasło - o ile Synology tego wymaga - podajemy nasz adres e-mail i hasło jakimi zarejestrowaliśmy się na stronie www Synology (to zazwyczaj inne hasło niż te, które używamy logując się do urządzenia Synology/DSM!!!)
  • Status - sprawdzamy naciskając przycisk czy ustawienia są poprawne

Status DynDNS

☝ Po kliknięciu Ok, jeśli ustawienia są poprawne - na liście pojawi się nasza nowa 🟦 domena, informacja pod jakim 🟧 adresem IP jest podpięta i 🟩 status rejestracji.

Możemy dodatkowo sprawdzić działanie domeny wpisując jej 🟦 adres w oknie przeglądarki www - powinna pojawić się strona logowania do Synology DSM (chyba że w Portalu logowania jest ustawione inaczej...)

Ustawienie reverse proxy

Mając już skonfigurowaną domenę uwidaczniamy nasz Nightscout pod domeną, używając reverse proxy.

Portal logowania

👣 ☝ W panelu DSM Synology, otwórz 🟦 Panel sterowania, sekcję 🟪 Portal logowania a w niej zakładkę 🟧 Zaawansowane. Kliknij 🟩 Odwrócony server proxy.

Odwrócony serwer proxy

☝ Kliknij 🟦 Utwórz

Konfiguracja serwera proxy

☝ ✏ Nazwa odwróconego serwera proxy - podajemy jakąś sensowną nazwę, np: nightscout-bezpieczny

☝ ✏ W sekcji Źródło ustawiamy jak widoczna ma być strona na zewnątrz:

☝ ✏ W sekcji Miejsce docelowe ustawiamy gdzie ma kierować domena w naszej sieci - czyli gdzie obecnie znajduje się serwer nightscout:

Zaawansowane ustawienia serwera proxy

☝ Przed zapisaniem, wchodzimy jeszcze do zakładki 🟧 Niestandardowy nagłówek i klikamy na przycisk Utwórz po czym wybieramy 🟩 WebSocket. Te ustawienia niezbędne są do szybkiej wymiany statusów między Nightscout a niektórymi klientami, w tym AAPS.

👣 Klikamy 🟦 Zapisz

Ustawienie certyfikatu SSL

Ponieważ chcemy mieć bezpieczne szyfrowane połączenie do naszego Nightscout, pozostaje nam wskazać Synology jakiego certyfikatu SSL użyć do szyfrowania. Na nasze szczęście, Synology dostarcza za darmo certyfikatów dla subdomen z własnego DynDNS, czyli *.synology.me

Konfiguracja certyfikatu SSL

👣 ☝ W panelu DSM Synology, otwórz 🟦 Panel sterowania, sekcję 🟪 Bezpieczeństwo a w niej zakładkę 🟧 Certyfikat. Na liście powinien już być certyfikat dla 🟩 twojej subdomeny na .synology.me - jeśli nie to dodaj go przyciskiem Dodaj.

👣 Kliknij 🟫 Ustawienia.

Wybór certyfikatu SSL

☝ Na liście domen i usług odnajdź 🟩 swoją domenę i port które ustawiliśmy w poprzednim kroku. Upewnij się że na liście po prawej stronie 🟧 wybrany jest prawidłowy certyfikat odpowiadający Twojej subdomenie.

👣 Potwierdź naciskając przycisk 🟦 OK

Test z internetu

Nadeszła wielka chwila!

Wejdź na swój telefon, wyłącz WiFi (aby telefon był tylko na internecie mobilnym, np.: 3G/4G/5G), otwórz przeglądarkę Chrome lub Safari i wpisz adres:

https://TWOJASUBDOMENA.synology.me:8123

✏ W powyższym adresie podmieniamy:

  • TWOJASUBDOMENA - na nazwę twojej subdomeny którą konfigurowałeś w DynDNS (Nazwa hosta) i do której podpiąłeś certyfikat
  • 8123 - nie zapomnij za każdym razem podać portu - inaczej zamiast na Nightscout zostaniesz przekierowany do panelu logowania do Synology DSM!

🏁 Jeżeli załadowała się Twoja strona Nightscout, a w adresie po lewej stronie widać kłódkę - GRATULACJE! 🥳 Twój Nightscout na Synology działa i jest gotowy do konfiguracji 😄


Ostatnia aktualizacja: 2022-10-07