NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
@Negalein
allerdings klappt kein jscontroller updateroot@iobroker:/opt/iobroker# iobroker upgrade self Update js-controller from @1.4.2 to @1.5.11 NPM version: 6.4.1 npm install iobroker.js-controller@1.5.11 --unsafe-perm --production --save --prefix "/opt/iobroker" (System call) npm WARN react-beautiful-dnd@9.0.2 requires a peer of react@^16.3.1 but none is installed. You must install peer dependencies yourself. npm WARN react-motion@0.5.2 requires a peer of react@^0.14.9 || ^15.3.0 || ^16.0.0 but none is installed. You must install peer dependencies yourself. npm WARN react-redux@5.0.7 requires a peer of react@^0.14.0 || ^15.0.0-0 || ^16.0.0-0 but none is installed. You must install peer dependencies yourself. npm WARN onvif-snapshot@1.0.2 requires a peer of onvif@^0.5.5 but none is installed. You must install peer dependencies yourself. npm WARN react-beautiful-dnd@9.0.2 requires a peer of react@^16.3.1 but none is installed. You must install peer dependencies yourself. npm WARN react-motion@0.5.2 requires a peer of react@^0.14.9 || ^15.3.0 || ^16.0.0 but none is installed. You must install peer dependencies yourself. npm WARN react-redux@5.0.7 requires a peer of react@^0.14.0 || ^15.0.0-0 || ^16.0.0-0 but none is installed. You must install peer dependencies yourself. npm ERR! path /opt/iobroker/node_modules/.bin/iobroker npm ERR! code EEXIST npm ERR! Refusing to delete /opt/iobroker/node_modules/.bin/iobroker: is outside /opt/iobroker/node_modules/iobroker.js-controller and not a link npm ERR! File exists: /opt/iobroker/node_modules/.bin/iobroker npm ERR! Move it away, and try again. npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2019-05-29T12_16_23_932Z-debug.log Host "iobroker" (linux) updated Execute: chmod -R 777 /opt/iobroker chmod: Beim Setzen der Zugriffsrechte für '/opt/iobroker/iobroker-data/backup-objects/2019-05-29_14-07_objects.json.gz': Die Operation ist nicht erlaubt chmod: Beim Setzen der Zugriffsrechte für '/opt/iobroker/iobroker-data/backup-objects/2019-05-29_14-07_states.json.gz': Die Operation ist nicht erlaubt chmod: Beim Setzen der Zugriffsrechte für '/opt/iobroker/iobroker-data/backup-objects/2019-05-29_14-09_objects.json.gz': Die Operation ist nicht erlaubt chmod: Beim Setzen der Zugriffsrechte für '/opt/iobroker/iobroker-data/backup-objects/2019-05-29_14-10_states.json.gz': Die Operation ist nicht erlaubt Chmod finished. Restart controller Starting node restart.js root@iobroker:/opt/iobroker#
-
@dslraser sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@Negalein
allerdings klappt kein jscontroller updateJa, das ist bekannt.
Selbiges Problem habe ich auch. -
@Negalein
es klappt überhaupt kein Update, auch Adapter nicht... -
@dslraser sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@Negalein
es klappt überhaupt kein Update, auch Adapter nicht...Ok, das funktioniert bei mir alles!
Komisch!
Dann müsstest du auf @andre warten. -
@Negalein
Update Versuch von admin 3.6.0 auf admin 3.6.2npm WARN react-beautiful-dnd@9.0.2 requires a peer of react@^16.3.1 but none is installed. You must install peer dependencies yourself. npm WARN react-motion@0.5.2 requires a peer of react@^0.14.9 || ^15.3.0 || ^16.0.0 but none is installed. You must install peer dependencies yourself. npm WARN react-redux@5.0.7 requires a peer of react@^0.14.0 || ^15.0.0-0 || ^16.0.0-0 but none is installed. You must install peer dependencies yourself. npm WARN onvif-snapshot@1.0.2 requires a peer of onvif@^0.5.5 but none is installed. You must install peer dependencies yourself. npm WARN react-beautiful-dnd@9.0.2 requires a peer of react@^16.3.1 but none is installed. You must install peer dependencies yourself. npm WARN react-motion@0.5.2 requires a peer of react@^0.14.9 || ^15.3.0 || ^16.0.0 but none is installed. You must install peer dependencies yourself. npm WARN react-redux@5.0.7 requires a peer of react@^0.14.0 || ^15.0.0-0 || ^16.0.0-0 but none is installed. You must install peer dependencies yourself. npm ERR! path /opt/iobroker/node_modules/iobroker.admin/node_modules/.bin/sshpk-conv npm ERR! code EEXIST npm ERR! Refusing to delete /opt/iobroker/node_modules/iobroker.admin/node_modules/.bin/sshpk-conv: is outside /opt/iobroker/node_modules/iobroker.admin/node_modules/sshpk and not a link npm ERR! File exists: /opt/iobroker/node_modules/iobroker.admin/node_modules/.bin/sshpk-conv npm ERR! Move it away, and try again. npm ERR! A complete log of this run can be found in: npm ERR! /root/.npm/_logs/2019-05-29T13_55_09_580Z-debug.log root@iobroker:/opt/iobroker#
Edit: reinstall.sh hat erstmal das Problem mit dem Admin auf 3.6.2 behoben.
(hat ne gefühlte Ewigkeit gedauert)cd /opt/iobroker sudo mv reinstall.sh reinstall.dos sudo tr -d '\r' < reinstall.dos > reinstall.sh sudo chmod +x reinstall.sh sudo ./reinstall.sh
das soll besser sein (neuere Installationen-habe ich aber erst hinterher gelesen)
npm rebuild
-
Der nächste Schritt wäre jetzt das Update auf V3. Ich halte die macvaln für die bessere Lösung aber das Zugriffsproblem auf die IP der Synology schreckt mich ab. Ich nutzte auch das Maria-Paket von Synology um meine Daten zu loggen.
Wäre eine Möglichkeit Maria-DB in ein anderes Docker zu packen welche auch per eigene IP (mittels macvlan) erreichbar ist? Somit sollte iobroker doch wieder Zugriff kriegen oder?
Ich habe weiter oben vor ein paar Tagen mal eine Lösung eingefügt, mit der man die physische Netzwerkkarte eines Linux (Docker) Hosts durch eine virtuelle Netzwerkkarte "ersetzen" kann, die natürlich weiterhin eth0 nutzt, aber die Kommunikation des Hosts mit den Docker Containern per MACVLAN erlaubt.
-
@Holzlenkrad Oh. Danke hatte ich komplett überlesen. Muss ich mir mal genauer ansehen.
-
Damit wurde auch gleichzeitig der jscontroller hochgezogen.
(hat ne gefühlte Ewigkeit gedauert)cd /opt/iobroker sudo mv reinstall.sh reinstall.dos sudo tr -d '\r' < reinstall.dos > reinstall.sh sudo chmod +x reinstall.sh sudo ./reinstall.sh
das soll besser sein als der obige Befehl (neuere Installationen-habe ich aber erst hinterher gelesen)
npm rebuild
PS: Adapter Updates klappen nun auch wieder.
Nun läuft der V3 Container bei mir und macvlan läuft auch. Alle Adapter sind grün und arbeiten.
Läuft also alles. Danke für die Hilfe... an alle Beteiligten. -
Also im Moment sehe ich für mich keine Vorteile in der Version 3. Ich bleibe vorerst bei Version 2, weil damit zur Zeit alles super funktioniert und ich auch problemlos auf meine MariaDB-10-Datenbank auf der DiskStation zugreifen kann. Vielleicht wäre es eine Option, MariaDB in einem Container unter MACVLAN zu installieren, aber im Moment möchte ich das nicht ausprobieren.
-
Ich habe ioBroker auf meiner Synology DS 918+ laufen. Mit Node.js v6.14.4 und NPM 3.10.10.
ioBrocker unter Docker habe ich nach dieser Anleitung von Andre installiert (V2):
https://buanet.de/2017/09/iobroker-unter-docker-auf-der-synology-diskstation/
Welche Version genau weiß ich nicht. Läuft seit ca. einem Jahr.Jetzt möchte ich auf die neue V3 hoch rüsten. Ich bin aber verunsichert und habe Fragen.
Bleibt die alte Version in meinem aktuellen Container erhalten?Wenn ich richtig recherchiert habe muss ich folgende Schritte durchführen.
Portainer installieren:
https://buanet.de/2018/12/portainer-zur-verwaltung-von-docker-auf-der-synology-diskstation/Upgrade von nodejs und npm wie hier beschrieben:
http://www.iobroker.net/docu/?page_id=8323&lang=de#Upgrade_von_nodejs_und_npm
Gilt das auch für meine Konfiguration oder gibt es was Spezielles für Docker auf Synology? Muss ich das im Terminal des Containers installieren oder über SSH root der DS?Dann weiter mit dem Tutorial der V3:
https://buanet.de/2019/05/iobroker-unter-docker-auf-der-synology-diskstation-v3/Liege ich da richtig? Muss ich noch etwas beachten?
-
@Bongo also ich würde und bin vor zwei Tagen so vorgegangen:
Erstmal kopierst Du Dein ioBroker_daten Verzeichnis z. B. nach ioBroker_daten_v2.
Danach erstellst Du in Docker eine frische V2 Version (also so wie in der Anleitungen v2 beschrieben. Nur benutzt Du nicht latest sondern V2. In den Docker einstellungen mountest Du zu ioBroker_daten_v2. Danach stoppst Du Deinen alten Container und startest den neuen. Dann im Docker auf Terminal und erstmal ioBroker stoppen. Dann ggf. ein iobroker host this und ein reinstall machen. Das dauert schonmal etwas. Danach startest Du ioBroker wieder. Jetzt solltest Du eine aktuelle V2 installiert haben mit aktuellen jscontroller und auch node ist einer 8er installiert.
Falls dabei Probleme auftreten kannst Du den Container stoppen und den alten starten. Da der alte auf die ioBroker_daten zugreifst und der neue eben auf das andere Verzeichnis hast Du keine Probleme. Nur gleichzeitig laufen geht halt nicht. Sollte die v2 gescheid laufen kannst Du ganz in Ruhe und ohne Probleme auf die v3 gehen. Solltest Du Probleme haben kannst Du aber vorerst auf der v2 bleiben. Man könnte natürlich node auch manuell installieren aber ich finde die o. g. Methode ist einfacher und sicherer.
-
@dslraser
Da du mir mit VPN auf meiner Synology so toll geholfen hast, hast du zu diesem Problem/Phänomen eine Idee warum es nicht mehr geht?@Negalein sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Mir ist gestern aufgefallen, dass ich mit dem VPN und MACVLAN nicht mehr auf den ioBroker komme.Auf die DS und alle anderen Geräte komm ich. Nur nicht auf ioBroker.
Jemand eine Idee?
-
@Negalein
hatte Dein VPN nicht auch ein 10ner Netz ? Vielleicht kollidiert da was ? -
@Negalein
bin gerade unterwegs und habe auch mal mein VPN bemüht...Geht auch bei mir nicht. Ich komme auch nicht auf die macvlan adresse, muss ich mir auch mal anschauen. -
@dslraser sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
hatte Dein VPN nicht auch ein 10ner Netz ? Vielleicht kollidiert da was ?
Genau
bin gerade unterwegs und habe auch mal mein VPN bemüht...Geht auch bei mir nicht. Ich komme auch nicht auf die macvlan adresse, muss ich mir auch mal anschauen.
Super, bin gespannt!
-
@dslraser sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
das soll besser sein als der obige Befehl (neuere Installationen-habe ich aber erst hinterher gelesen)
Also statt
sudo ./reinstall.sh
einnpm rebuild
machen? -
@Negalein
ja, habe ich hier irgendwo von Apollon gelesen (steht wohl auch irgendwo in der "neuen" Anleitung)
Musst mal hier im Forum suchen nach reinstall.sh , dann findest Du den Beitrag -
@cash das klingt nach einer vernünftigen Vorgehensweise. Danke für den Tipp. Habe nun auch die V2.
Das mit reinstall hat nicht funktioniert. Ich habe dann npm rebuild gemacht. Das hat auch funktioniert.
Leider laufen zwei Adapter nicht. js2fs und tr-064. da muss ich mal schauen.@cash sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
@Bongo also ich würde und bin vor zwei Tagen so vorgegangen:
Erstmal kopierst Du Dein ioBroker_daten Verzeichnis z. B. nach ioBroker_daten_v2.
... -
@Negalein
also ich habe jetzt so einiges probiert, aber mit vpn komme ich nicht auf den iobroker drauf (macvlan ip adresse)
Ich weiß auch nicht ob das überhaupt geht...?@andre schreibt auf seiner Seite:
Für Fortgeschrittene: MACVLAN-Methode
"Trotzdem gibt es einen Wermutstropfen: Eine direkte Kommunikation zwischen der IP-Adresse des ioBrokers und der des Docker-Hosts ist leider nicht möglich. Praktisches Beispiel ist hier z. B. die Anbindung einer auf dem Host laufenden SQL-Datenbank an den ioBroker-Container. In so einem Fall müssen andere Lösungen gefunden werden."
Ich habe bei mir jetzt auf Host Modus umgestellt.
Dazu schreibt er:
Das Einfachste: Selbes Netzwerk wie Host verwenden
"Im Hinblick auf die Verwendung des aktuellen ioBroker-Docker-Images und der aktuellen Synology-DSM-Version ist diese Option allerdings aktuell nicht möglich. Ein Bug in der verwendeten Version des Linux-Kernels verhindert ein Ausführen von „sudo“ innerhalb des Containers. Seit der Änderung der Installationsroutine von ioBroker wird „sudo“ aber zwingend benötigt. Bis zur Aktualisierung der Kernel-Version im DSM wird diese Einschränkung wohl auch bestehen bleiben. Andere Systeme (z.B. ein Debian Server) sind, sofern eine aktuelle Kernel-Version verwendet wird, nicht betroffen. Hier kann der Host-Mode verwendet werden."
Zitate Ende
VPN geht damit.
Was ich nicht nachvollziehen kann, was im Host Modus mit sudo nicht gehen soll ?
Ich habe iobroker mit sudo iobroker stop oder mit sudo iobroker start stoppen und starten können. Auch Adapter updates gingen eben ...
Oder was soll konkret nicht gehen ?Adapter laufen jedenfalls alle, lassen sich updaten und ich komme auch wieder mit VPN drauf um z.B. unterwegs iQontrol zu bedienen, oder auch einfach auf ioBroker zu schauen.
Ich werde beobachten und berichten falls mir was auffällt, aber für den Moment werde ich es so lassen. Falls was sein sollte lässt sich das ja schnell wieder auf macvlan per portainer umstellen.
(ich brauche im Moment keine eigene IP für den Container) -
@dslraser sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
MACVLAN
man kann schon die NAS im MACVLAN erreichen um z.B. die Datenbank Maria DB zu nutzen. Dafür muss aber auf der NAS auch etwas getan werden. Vorgehen ist meiner Meinung nach etwas für Leute die sich mit Linux und Netzwerken auskennen.
Hier habe ich einmal beschrieben wie es geht. Einen Teil davon kann man im Portainer erledigen.
https://forum.iobroker.net/topic/12621/iobroker-unter-docker-auf-der-synology-diskstation/21