Nightscout selbst aufsetzen und hosten

  • Wozu die Links dideldum ? Man kann mit git checkout [Commit-ID] ja jederzeit zurück auf eine alte Version.

    Und ja, das npm-Update ist von Zeit zu Zeit nötig.

    Link umsetzen geht einfach ganz schnell und schon laufen meine beiden Instanzen wieder. Hatte schon mehrmals das Problem, dass Nightscout Updates sich nicht mit Libraries, der Mongo-Version oder irgendwelchen von npm install installierten Paket-Versionen vertrugen. Dann habe ich den Link erstmal schnell wieder zurückgebogen und hatte Zeit für die Problem-Analyse.

  • Ich finde es geht mit git einfacher.


    Aktuellen Stand merken:

    git rev-parse --short HEAD | tee old_hash.txt


    Zum updaten:

    git pull

    git checkout master


    Zum zurück gehen:

    git checkout $(cat ./old_hash.txt)

  • Hubi Link umsetzen geht garantiert schneller als das von dir beschriebene Procedere. Und außerdem will ich ja letztendlich die neuere Version zum Laufen bekommen. Das heißt, ich muss die neuere Version verfügbar haben und dort im Verzeichnis arbeiten können. Dabei will ich aber gleichzeitig die alte Version haben, um sie entweder sogar in der Zeit laufen zu lassen oder zumindest schnell wieder zurückzuschalten, ohne meine Arbeit im aktuellen Verzeichnis zu verlieren. Das geht natürlich mit git, aber sehr viel umständlicher und zeitraubender als mit dem schnell geänderten Link.

  • Hier ist die Installation Anleitung wonach ich den Pi aufgesetzt habe.


    Falls irgendetwas nach einem update daneben geht, schreib ich einfach mein Acronis Backup zurück auf die SSD.

  • Hier ist die Installation Anleitung wonach ich den Pi aufgesetzt habe.


    Falls irgendetwas nach einem update daneben geht, schreib ich einfach mein Acronis Backup zurück auf die SSD.

    Da du schon einen Symlink hast, kannst du wie dideldum beschrieben hat vorggehen.

    Zip runterladen, entpacken, und per ln auf nightscout linken: sudo ln -s cgm-remote-monitor-XX.X.X nightscout

  • Off topic.


    Ich so neidisch, euch hier zu lesen. 2009 bis 2012 hatte ich einen Linux Server in China am Laufen. In meiner Wohnung. 2012 lag ich dann in Handschellen auf dem Boden meines Wohnzimmers.

    Seither wohne ich ohne Server.

  • Meine Datenbank, liegt bei Heroku, ist bei 57.3 MiB von 500 MiB, nach einem Jahr Benutzung. Ausgefallen ist der Dienst nicht einmal, seit dem ich habe dran rumgespielt.

    Habe nun auf meinem Pi4 nach 26 Monaten eine Datenbankgröße von 135 MB, auf einer 128GB SSD

    Bin voll zufrieden und läuft bis jetzt alles ohne Ausfälle :laub

  • ich bin bei 1061 MB mit iAPS (das scheint relativ viel zu Speichern), eine weitere Instanz mit AAPS hat nur die Hälfte

    █══════████████████────────
    puɐʇsɟdoʞ uǝuıǝ ǝpɐɹǝƃ ʇɥɔɐɯ 'uuɐʞ uǝsǝl sɐp ɹǝʍ シ

  • Moin,

    ich habe jetzt meine Nighscout-Installation auf mein Synology-NAS portiert. Leider hat mein Synology-NAS keine Docker-Integration (weil es die ARM64-Version und nicht die Intel-Version ist) - daher musste ich etwas basteln.


    Nightscout auf Synology (Polnisch) --> Mit Browser-Übersetzung, da ich kein Polnisch spreche --> die wollte ich eigentlich befolgen, geht aber nur bei Intel also basteln ...

    Schritt 1: Docker auf Synology mit AARCH64 installieren:

    Folgendes Script verwendet:

    Docker auf Synology mit ARM64 (AARCH64)--> Docker auf AARCH64


    Achtung - folgendes benutzt:
    Use DOCKER_DIR=/volume1/docker

    Check permissions: users and groups of docker folder again.


    Gab ein paar Probleme und habe dann auch hier weiteres Troubleshooting durchgeführt:

    Docker auf Synology mit ARM64


    Damit ließ sich Docker auf dem Synology installieren.


    Schritt 2: Portainer


    Als ich Docker installiert hatte, habe ich Portainer installiert - als Docker-Image:

    Code
    sudo docker run -d --network=host -v "/run/docker.sock:/var/run/docker.sock" portainer/portainer:linux-arm64 --restart-always

    Achtung - auf Synology geht nur der network-host Mode. Das heißt keine Netzwerk-Virtualisierung (Bridge), sondern alle Ports laufen direkt auf dem Host.


    Diese Anleitung: Schritt 6: Portainer Setup - mit dem Link von dadrüber funktionierte bei mir. Damit konnte Portainer aufgesetzt werden.


    Schritt 3: Mit Portainer die Docker-Images installieren:


    Dann wieder zurück zur Polnischen Anleitung mit Übersetzung Nightscout auf Synology (Polnisch)

    In der Englischen Übersetzung heißt es: Configuring Portainer --> ab hier geht es weiter.


    Es wird ein Configuration file erstellt, welches dann im Portainer Web-Editor gestartet wird. Diese hat bei mir so nicht funktioniert und musste angepasst werden. Network-Modus, neue APIs der Software, ARM-Mongo unterstützt nur bis MongoDB 4.4.18 ...


    Passwörter entsprechen anpassen.


    Achtung, beim ersten installieren der mOngoDB oben, gibt es noch keine Nighscout-Datenbank - ich wollte nicht die admin-Datenbank direkt benutzen.
    Daher musste ich nach dem ersten Installieren dieser drei Docker in den mongo_db-docker rein -> das geht gut aus dem Portainer durch drücken des Console-Button beim Container.


    In der MongoDB-Container-Konsole:

    Was passiert hier: In Mongo rein, die Amin DB öffnen, sich dort als root authentisieren, dann die Datenbank nightscout anlegen und reinwechseln, und dann dort einen User für die nighscout DB anlegen.
    Passwörter die oben angepasst worden sind, müssen genauso angepasst werden.


    Um jetzt auf den Server zugreifen zu können, muss noch ein Reverse Web Proxy installiert werden, Dier funktionier bei Synology folgendermaßen:

    Reverse Web Proxy für Nightscout

    --> natürlich nur bis hier: "Setting up Docker and Nightscout" --> das haben wir ja oben schon gemacht,


    Achtung:

    Bei mir hat der Webserver nicht funktioniert. Daher habe ich die Zertifikateserstellung von Synology übernommen und teile die mit Nighscout, so dass NS selber die Zertifikate benutzen kann.

    Daher muss dieser Code in dem Quellcode oben:

    Code
    - INSECURE_USE_HTTP=true

    durch folgenden ersetzt werden - bzw ein neuer Eintrag für Volumes muss angelegt werden und im environment muss true zu false und drei Zeilen müssne eingefügt werden:

    Code
    volumes:
    - "/usr/syno/etc/certificate/ReverseProxy/komischelangenummerdiebeijedemandersist:/certificate"
    ...
    environment:
    ...
    - INSECURE_USE_HTTP=false
    - SSL_KEY="/certificate/RSA-privkey.pem"
    - SSL_CERT="/certificate/RSA-fullchain.pem"
    - SSL_CA="/certificate/RSA-cert.pem"

    Die komischelangenummerdiebeijedemandersist muss erst herausgefunden werden. Dazu muss man als root im Dateisystemherumsuchen. Ich habe dafür den Midnightcommander genommen und den als sudo ausgeführt (sudo mc). Dort findet man den in /usr/syno/etc/certificate/ReverseProxy/


    Gleichzeitig muss dieses Verzeichnis Zugriff vom Docker-Container bekommen:

    Code
    sudo chmod 755 komischelangenummerdiebeijedemandersist

    Durch die Volume-Zeile wird dieses Verzeichnis dann in den Dockercontainer reingemounted und Nightcout kann drauf zugreifen. Im Dockercontainer heißt das Verzeichnis /certificate --> das verwende ich dann in der Konfiguration für SSL_KEY, SSL_CERT und SSL_CA.



    Hinwei: Immer wenn man die Konfigurationsdatei anpassen möchte, kann man im Portainer-Stack in den Editor wechseln und die Änderungen dort eintragen und auf Deploy drücken. Danach muss man noch die Container alle (oder die entsprechenden die verändert worden sind) markieren und auf Restart drücken - nachdem Neustart sollte es funktionieren.


    Man kann direkt die Logs anschauen mit dem Log-Button und in den Container reinspringen mit dem Console-Button.


    Schönen Gruß
    ovinator

  • Ich habe hier auf meinen Proxmox ein Ubuntu 22.04.4 LTS, bekommt man die aktuelle Version irgendwie installiert? scheitere an den vielen Abhängigkeiten. Gibt es vorgaben welche Node und NPM Version man nutzen sollte?


    Auch habe ich das problem das der OS Typ auf "Linux" steht und "Darwin" erwartet wird.


    npm audit fix und npm audit fix --force bringen nichts.


    █══════████████████────────
    puɐʇsɟdoʞ uǝuıǝ ǝpɐɹǝƃ ʇɥɔɐɯ 'uuɐʞ uǝsǝl sɐp ɹǝʍ シ

  • ich weiß, nur wie ändere ich das?



    Ein Frage:

    Kann ich den Build an einem Mac bauen und darüber kopieren oder ist das nicht möglich?

    █══════████████████────────
    puɐʇsɟdoʞ uǝuıǝ ǝpɐɹǝƃ ʇɥɔɐɯ 'uuɐʞ uǝsǝl sɐp ɹǝʍ シ