Kategorien
How To

Nightscout installation auf einem Raspberry Pi 4

Dieses Tutorial zeigt präzise wie du Docker mit Docker Compose auf einem Raspberry pi installierst, sowie eine MongoDB instanz und eine Nightscout Instanz installierst.

Schritt 1: Raspberry Pi Kaufen

Kaufe dir einen Raspberry Pi mit mindestens 2 GB. Gut für unsere Wirtschaft ist da der Anbieter Reichelt: RPI 4B 2G.

( Ein gutes Netzteil ist natürlich auch benötigt, oder ein All-in-One Set: AllInOne )

Des weiteren ist eine Micro-SD-Karte mit mindestens 8 GB Speicher.

Schritt 2: OS auf SD Karte installieren

Schritt 2.1: Raspberry Pi Imager herunterladen

Lade dir den Kostenlosen SD-Imager von Raspberry Pi herunter: Link ( Download bei Install Raspberry Pi OS using Raspberry Pi Imager )

Bei Windows lädst du eine .exe Datei herunter, die du danach auführen musst. Nach der Installation findest du im Windows Startmenü das Programm mit dem Namen Raspberry Pi Imager

Schritt 2.2: SD Karte Flashen

Stecke zuerst deine Micro-SD-Karte in deinen Laptop/PC. Öffne das Programm Raspberry Pi Imager.

Dort wählst du bei OS WählenOther general Purpose OS„, dann „Ubuntu“ und dann Ubuntu Server (Wichtig! 64-bit) aus.

Danach musst du deine SD-Karte auswählen mit dem Button SD-Karte Wählen.

Klicke danach auf den Button Schreiben, das musst du ggf nochmal gestätigen.

Der Schreibprozess dauert eine Weile ( max. 30 min ).

Alternative zu Schritt 2:

Lade dir die 64-Bit version von Ubuntu Server hier herunter und packe die iso bzw img auf die SD Karte mit z.B. win32Imager

Schritt 3: Raspberry Pi Vorbereiten

Stecke die neu beschriebene SD-Karte in den SD-Karten-Slot des Raspberry Pi’s. Des weiteren musst du das USB-Kabel zur Stromversorgung anschließen. Wichtig: Du brauchst ein Ethernet Kabel, das du von deinem Router an den Raspberry Pi anschließen kannst.

Der Raspberry Pi sollte jetzt leuchten, sowie die LEDs beim Ethernet-Stecker sollten blinken.

Schritt 4: SSH Verbindung herstellen

Der einfachste Weg ist PuTTY, welches hier heruntergeladen werden kann.

Nachdem du Putty installiert hast, kannst du PuTTY Öffnen.

Du siehst jetzt dieses Fenster:

Bei Host Name (or IP address) musst du ubuntu eingeben und dann auf Open klicken.

Achtung: Manche Router unterstützen den hostnamen nicht und müssen per IP-Addresse aufgerufen werden. Diese zu finden geht meist im Router selber oder mit Tools wie https://www.advanced-port-scanner.com/de/.

(Eine Alternative wäre das Terminal, dabei musst du den Command ssh ubuntu@ubuntu ausführen)

Schritt 4b: SSH Login

Falls du dich das erste mal mit dem Raspberry Pi verbindest bekommst du ein Fenser mit einer Warnung, diese kannst du ignorieren und auf Ja oder Yes drücken

Du bekommst jetzt ein Fenster in dem Steht login as:, dort gibst du ubuntu ein und klickst auf Enter. Das Passwort musst du als nächstes eingeben, dieses ist beim ersten Start ubuntu

Danach wirst du aufgefordert das alte Passwort erneut einzugeben und ein neues auszuwählen (Wichtig: Das Passwort wird beim eingeben nicht angezeigt und der Cursor bewegt sich nicht). Als neues Passwort habe ich raspberry ausgewählt

Nachdem du das neues Passwort erneut bestätigt hast, wirst du ausgeloggt und musst dich mit PuTTY erneut einloggen, siehe Schritt 4

(Wichtig: Ab jetzt kannst du als Passwort nur noch dein neues verwenden, da du dies gerade geändert hast)

Du solltest jetzt eingeloggt sein und hast damit ein Terminal

Schritt 5: Installation von einigen Tools

Dies kann einige Zeit (~1 Stunde) dauern.

Das kopieren von den Befehlen in das Terminal musst du so machen: du kopierst den Text mit Ctrl+C und fügst ihn in PuTTY mit einem klick auf die Rechtemaustaste ein.

Wir installieren jetzt erstmal Docker:

 sudo apt-get update &&

 sudo apt-get install -y apt-transport-https ca-certificates curl gnupg &&

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg &&

echo \
  "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null &&

sudo apt-get update &&

sudo apt-get install -y docker-ce docker-ce-cli containerd.io

(Quelle: Docker Docs https://docs.docker.com/engine/install/ubuntu/)

Danach installieren wir noch Docker Compose

sudo apt install -y libffi-dev libssl-dev &&

sudo apt install -y python3 python3-pip &&

sudo pip3 install docker-compose

(Quelle Docker Docs: https://docs.docker.com/compose/install/#alternative-install-options)

Und dann neustarten

sudo reboot

Dann führen wir das noch aus:

sudo usermod -aG docker $USER &&
sudo reboot

Schritt 6: Nightscout installieren

Zuerst machen wir einen Ordner in dem die Daten der Datenbank gespeichert werden:

sudo mkdir /data
sudo mkdir /data/db

Danach machen wir eine Datei in ~ mit den folgenden befehlen

cd /home/ubuntu/ &&
nano docker-compose.yml

In dem geöffneten Dokument fügen wir folgendes ein

nightscout:
  image: markxoe/nightscout-cgm-remote-monitor-raspberrypi:latest
  environment:
    TZ: Europe/Berlin
    MONGO_CONNECTION: mongodb://mongo:27017/nightscout
    API_SECRET: eintotalsicheresPasswort!
    BG_HIGH: 220
    BG_LOW: 60
    BG_TARGET_TOP: 180
    BG_TARGET_BOTTOM: 80
    INSECURE_USE_HTTP: "true"
    AUTH_DEFAULT_ROLES: readable devicestatus-upload
    ENABLE: delta direction rawbg
  ports:
    - "1337:1337"
  links:
    - mongo
  restart: always
mongo:
  image: mongo:bionic
  restart: always
  volumes:
    - "/home/ubuntu/db:/data/db"

Danach speichern wir die Datei in dem wir Strl+O und danach Enter und dann Strg+X auf der Tastatur drücken.

In dem Text stehen nach environment: einige Zeilen mit Einstellungen. Eine davon ist der API_SECRET, mehr dazu aber weiter unten

Jetzt laden wir noch die Images vom Docker hub mit diesem Befehl herunter: (Kann eventuell bis zu 30 minuten dauern)

sudo docker-compose pull

Schritt 7: Nightscout Starten

Jetzt kannst du endlich folgenden befehl eingeben

sudo docker-compose up -d

In der Konsole sollte dann so etwas wie

Creating ubuntu_mongo_1 ... done
Creating ubuntu_nightscout_1 ... Done

ausgegeben werden.

Getestet kann das ganze dann mit dem Browser und der URL http://ubuntu:1337/ werden. Falls du bei Schritt 4b probleme mit ubuntu hattest, musst du hier wieder die IP-Addresse verwenden.

Falls du Einstellungen in der Datei docker-compose.yml vornimmst, musst du nach dem Ändern sudo docker-compose up -d eingeben, um die Einstellungen anzuwenden.

Schritt 8: Einstellungen vornehmen

Die Einstellungen müssen in der Datei docker-compose.yml vorgenommen werden. Zum editieren verwende ich immer nano, andere editoren gehen aber auch.

Deshalb verwende ich das Kommando

nano docker-compose.yml

Es gibt folgende wichtige Einstellungen:

Gespeichert wird die Datei wieder mit Strg+O, dann Enter und dann Strg+X. Danach muss noch sudo docker-compose up -d ausgeführt werden um die Einstellungen anzuwenden

Schritt 9: mit Uploader/ xDrip etc verwenden

Die meisten Applikationen brauchen die URL des Servers sowie den API_SECRET.

Die URL des Servers ist http://ubuntu:1337/ bzw bei manchen Routern http://<ip-addresse>:1337/ wobei <ip-addresse> mit der IP addresse des Raspberry Pis ersetzt werden muss.

Der API_SECRET ist bei uns

mypassword123

Dieser kann aber auch geändert werden, siehe Schritt 8.

Achtung: Dein Nightscout kannst du bisher nur von innen verwenden deshalb musst du ein sogenanntes Port Forwarding machen.

Tutorials gibt es z.B. hier oder bald auch von mir.

Wichtig: Der Interne Port muss auf 1337 gesetzt sein und der externe Port sollte auch auf 1337 gesetzt werden, außer du weißt was du tust, dann könnte 80 eine gute Alternative sein 😉

Da sich deine IP Addresse bei Privatpersonen normalerweise sehr oft ändert, brauchst du ein sogenanntes Dynamic DNS. Anleitungen gibt es ebenfalls im Internet, z.B. hier

Bei Fritz!Box en gibt es als alternative dazu MyFritz, weiteres dazu hier.

Wichtig: Dabei muss beim Internen Port 1337 verwendet werden!

Bei Fragen oder Verbesserungen einfach Kontaktieren

Kategorien
Projekte

Ich bin eine Biene Desktop

FAQ

Was ist das?

Gute Frage, das ist eine Windows App für Windows geschrieben auf Windows mit Electron

Warum?

Keine Ahnung, hab ich im Physikunterricht angefangen

Wo finde ich das?

Installer Download auf GitHub

Source Code für Codesüchtige Entwickler: GitHub (wo sonst)

Kategorien
How To

Wie man Windows 10 herunterfährt

Heute zeige ich euch wie ihr Windows 10 herunterfahren könnt

Methode 1: