OwnYourData auf Synology
Seit einer Woche habe ich ein NAS (Synology DS1517+) und ein für mich besonders interessantes Feature ist die Möglichkeit darauf Docker-Container auszuführen. Gleichzeitig hat unser Jüngster (2½ Jahre alt) nun sein eigenes Zimmer und ich wollte wissen, ob er dort auch wirklich durchschläft. Unsere Freunde von Gonimo.com haben einen tollen Online-Babymonitor entwickelt und sogar ein eigenes Feature für uns eingebaut, um den gemessen Geräuschpegel in einem OwnYourData Datentresor mitzuprotokollieren. Zur Visualisierung der gesammelten Daten gibt es die OYD-Gonimo App und in diesem Blogpost beschreibe ich das Setup, um in der Nacht den Geräuschlevel im Schlafzimmer unseres Sohnes mit einem Android-Phone zu messen und im Datentresor aufzuzeichnen.
Folgende Komponenten verwende ich dafür:
- Synology DS1517+ mit DSM 6.1
- Alcatel One Touch 4015D mit Android 4.2.2
- Datentresor 0.9.5 Image auf Dockerhub
- Gonimo App Image auf Dockerhub
Inhalt
- Docker auf Synology installieren
- OwnYourData Images von Dockerhub herunterladen und starten
- Datentresor und OYD-Gonimo App starten
- Reverse Proxy & Zertifikate einrichten
- Gonimo am Android Smartphone starten
- Ergebnisse ansehen
Docker auf Synology installieren
Als erstes muss Docker installiert werden. Dazu öffne ich den DiskStation Manager (DSM) der Synology im Browser und gehe ins Package Center. Unter Utilities > Third-party findet sich ein Eintrag von Docker und dort klicke ich auf Install.
OwnYourData Images von Dockerhub herunterladen
Als nächstes starte ich Docker und unter Image lade ich folgende 2 Images herunter:
- Datentresor: https://hub.docker.com/r/oydeu/oyd-pia/
- OYD-Gonimo App: https://hub.docker.com/r/oydeu/app-gonimo/
Sind die beiden Images heruntergeladen, wähle ich sie jeweils aus und klicke auf Launch, um sie zu starten.
Datentresor und OYD-Gonimo App starten
Als nächstes öffnen wir den Datentresor und die OYD-Gonimo App. Dazu muss ich den vergebenen Port herausfinden, der unter Container > {Auswahl} > Details > Local Port angegeben ist.
In meinem Fall sind die Adressen:
- Datentresor: http://192.168.1.134:32769
(der Port wird dann im Schritt 4 Reverse Proxy benötigt) - OYD-Gonimo App: http://192.168.1.134:32768
(diese Adresse wird dann im Schritt weiter unten benötigt)
Als erstes öffne ich den Datentresor (Username: admin, Password: admin) und registriere dort die OYD-Gonimo App:
Standardmäßig werden Apps unter der Onlineadresse https://{app}.oydapp.org ausgeführt. Für sensible Daten möchte ich, dass aber nicht nur die Daten, sondern auch die Visualisierung bei mir daheim ausgeführt wird. Daher kopiere ich die Link-Adresse die bei Open angezeigt wird und ändere sie, sodass ich die OYD-Gonimo App auf der Synology aufrufen kann.
Die ursprüngliche Adresse war bei mir:
https://gonimo.oydapp.eu/?PIA_URL=http%3A%2F%2F192.168.1.134%3A32769&APP_KEY=eu.ownyourdata.gonimo&APP_SECRET=AiJ2n10RhqGLdBE24uOg
und den ersten Teil https://gonimo.oydapp.eu/
ändere ich auf die oben notierte Adresse der OYD-Gonimo App:
http://192.168.1.134:32768/?PIA_URL=http%3A%2F%2F192.168.1.134%3A32769&APP_KEY=eu.ownyourdata.gonimo&APP_SECRET=AiJ2n10RhqGLdBE24uOg
Die so erstellte Adresse füge ich nun in die Adressleiste meines Browsers ein und öffne die OYD-Gonimo App. Dort gehe ich auf die Seite Datenquellen und kopiere mir den Befehl, um den Online Babymonitor Gonimo.com für die Speicherung der Daten in meinen Datentresor zu konfigurieren.
Reverse Proxy & Zertifikate einrichten
In diesem Schritt müssen nun einige Konfigurationen vorgenommen werden, damit sich die Gonimo.com Webapp auf einem Android Handy mit dem OwnYourData Datentresor verbinden kann. (iOS Devices werden derzeit leider noch nicht unterstützt, sollen dann aber mit Safari in iOS 11 funktionieren.)
Dazu richte ich zuerst einen Reverse Proxy ein, damit der Datentresor über https erreichbar ist. Im Control Panel unter Application Portal > Reverse Proxy lege ich einen Eintrag wie im Screenshot unten dargestellt an. Der Hostname unter Destination muss dabei natürlich mit der eigenen IP Adresse ersetzt werden.
Damit ist der Datentresor nun unter https://{lokale Synology IP}:8080 erreichbar.
Den Schritt zum Einrichten eines Zertifikats musste ich nachträglich einfügen, da der Browser des (bereits alten) Android Smartphones das Default-Zertifikat von Synology nicht akzeptiert hat. (Ein Test am Desktop mit einem aktuellen Chrome Bowser (v59) hat das Zertifikat anstandslos akzeptiert.)
Dazu gehe ich im Control Panel auf Security > Certificate und erstelle mit Add ein neues Self-signed Certificate für die verwendete IP Adresse. Mit Configure weise ich dann dem Port 8080 dieses Zertifikat zu.
Gonimo am Android Smartphone starten
Jetzt verbinde ich das Android Smartphone mit meinem PC via USB und öffne am Smartphone im Chrome Browser die Seite „https://app.gonimo.com“. Am PC öffne ich ebenfalls den Chrome Browser und dort die Entwicklertools > Remote devices > das via USB verbundene Smartphone > den apps.gonimo.com Tab > Inspect > Console und füge den aus Schritt 3 Datentresor und OYD-Gonimo App starten kopierten Befehl der OYD-Gonimo App > Datenquellen kopierten Befehl ein.
Anmerkung: das Mikrofon des Alcatel One Touch benötigt einen geringeren Schwellenwert, damit es bei Geräuschen anschlägt; ich habe daher im eingefügten Befehl den Wert für threshold
von 0.3
auf 0.01
reduziert.
Nachdem dieser Wert für die Webseite gesetzt ist, klicke ich am Smartphone auf Baby und dann Start. Man kann das Smartphone nun vom PC trennen und zum Beispiel ins Kinderzimmer legen. Die Webseite schickt ab jetzt immer, wenn in einem 5 Sekunden Intervall ein Geräuschpegel größer als 0.01 erreicht wird, eine Nachricht mit dem aktuellen Zeitstempel und dem Geräuschpegel an den Datentresor. Am nächsten Morgen schließt man die Webseite im Browser und damit stoppt die Aufzeichnung. Bei der nächsten Verwendung muss man nur mehr die Webseite am Smartphone öffnen – keine Verbindung via USB und setzen der Werte ist mehr notwendig, da alle Informationen im Local Storage der Webseite gespeichert bleiben.
Ergebnisse ansehen
Am nächsten Morgen kann ich dann die Aufzeichnungen in der OYD-Gonimo App betrachten. Ich öffne dazu die OYD-App unter der Adresse die ich im Schritt 3 Datentresor und OYD-Gonimo App starten erstellt habe und sehe unter Auswertungen den Verlauf des Geräuschpegels in der Nacht.
Er ist um 8 Uhr eingeschlafen, hatte ein ruhige Nacht, aber bald nach 5 Uhr früh sind er und seine Brüder aufgewacht…
Ausblick
Mit dem hier beschriebenen Setup habe ich ein zusätzliches Anwendungsfeld für meine Synology beschrieben. Zugegeben ist die Installation für Endanwender im Moment zu schwierig, und in Zukunft möchte ich daher OwnYourData als eigene App im Synology Package Center anbieten. Die Installation soll dann so einfach wie jede andere Anwendung sein und mit einem einzigen Klick erfolgen. Falls dich das interessiert und du bestimmte Apps schon vorab verwenden möchtest, schreib mir ein Email oder hinterlasse einen Kommentar unter diesem Artikel!