NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
Hmm…
Bonjour abgeschaltet und Container neu gestartet, ohne Erfolg.
Versucht Avahi manuell zu starten:
` > root@iobroker:/# /etc/init.d/avahi-daemon start[FAIL] Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon failed! `
Gibt es irgendwo eine Zusammenfassung welche Ports weitergeleitet werden müssen?
…wird ja nicht nur 8081 und 8082 sein...?
Und danke für Deine Hilfe!
Gruß Carsten
-
Hmm…
Bonjour abgeschaltet und Container neu gestartet, ohne Erfolg.
Versucht Avahi manuell zu starten:
` > root@iobroker:/# /etc/init.d/avahi-daemon start[FAIL] Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon failed! `
Gibt es irgendwo eine Zusammenfassung welche Ports weitergeleitet werden müssen?
…wird ja nicht nur 8081 und 8082 sein...?
Und danke für Deine Hilfe!
Gruß Carsten `
Hallo, läuft bei dir im Container ein Prozess mit dem Ausführungsbefehl "dbus-daemon –system"? Falls nicht, versuche mal den Befehl auszuführen. Könnte dann ggf. so aussehen:
root@iobroker:/opt/iobroker# dbus-daemon --system Failed to start message bus: The pid file "/var/run/dbus/pid" exists, if the message bus is not running, remove this file root@iobroker:/opt/iobroker# rm /var/run/dbus/pid root@iobroker:/opt/iobroker# dbus-daemon --system root@iobroker:/opt/iobroker# /etc/init.d/avahi-daemon start [ ok ] Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon. root@iobroker:/opt/iobroker#
Der dbus ist Vorraussetzung für den avahi….
Was die Zusammenfassung der ioBroker Ports angeht, da kenne ich zumindest keine Quelle. Der ein oder andere Adapter bringt ja auch noch einen Port mit... schwierig da den Überblick zu behalten... Überlege gerade ob man sowas mal anfangen soll, dann könnte man ggf. den Docker-Container generell (auch für nicht so versierte Benutzer) mit Portforwarding betreiben. Allerdings müsste man mal schauen was das ggf noch für andere Problemchen mitbringen könnte.
MfG,
André
-
der dbus-daemon war nicht gestartet.
Ich habe das manuell gemacht und konnte jetzt auch den avahi-daemon starten.
Jetzt ist YAHKA wieder grün.
Ich habe aber zwischenzeitlich auch einen neuen Container erstellt ohne gleiches Netzwerk.
Nachdem ich 9000, 9001, 8081 und 8082 freigegeben hatte konnte ich auch direkt den Yahka installieren.
ZWave ist auch durchgelaufen, da kann ich bisher nur noch keinen USB-Stick auswählen.
Ich denke es sind damit einige Probleme tatsächlich gelöst.
Jetzt versuche ich erstmal den Container wieder auf die alte Installation zu mappen und dann sehen wir weiter.
Kannst Du mir außer den genannten Ports noch welche sagen, die unbedingt nötig sind?
Die speziellen Adapter-Ports muss ich dann ggf. anders herausfinden.
-
Das klingt ja schon mal nicht so verkehrt.
Was den USB Stick angeht… Soweit ich weiß, hat der Container nur Zugriff auf die USB-Devices wenn er mit erweiterten Rechten ausgeführt wird (Häkchen "Container mit hoher Priorität ausführen"). ist das Häkchen bei dir gesetzt?
Die genannten Ports hören sich gut an. Wüsste jetzt aus dem Stand auch nicht mehr...
MfG,
André
-
Das mit dem USB-Stick funktioniert jetzt auch, im Moment kopiere ich grade ein Backup zurück.
Bisher hat der hm-rpc noch nen roten Punkt. Da fehlt wohl der richtige Port, denke ich.
! ` > hm-rpc.0 2017-12-27 11:20:22.560 info Disconnected
hm-rpc.0 2017-12-27 11:20:22.513 info Connected
hm-rpc.0 2017-12-27 11:20:22.433 info xmlrpc -> 192.168.178.183:2010 init ["http://192.168.178.2:2010",""]
hm-rpc.0 2017-12-27 11:20:22.433 error Error: listen EADDRNOTAVAIL 192.168.178.2:2010 at Object.exports._errnoException (util.js:1020:11) at exports._exceptionWithHostPort (util.js:1043:20) at Server._listen2 (net.js:1249:19)
hm-rpc.0 2017-12-27 11:20:22.433 error uncaught exception: listen EADDRNOTAVAIL 192.168.178.2:2010
hm-rpc.0 2017-12-27 11:20:22.433 info xmlrpc client is trying to connect to 192.168.178.183:2010 with ["http://192.168.178.2:2010","hm-rpc.0"]
hm-rpc.0 2017-12-27 11:20:22.432 info xmlrpc server is trying to listen on 192.168.178.2:2010
hm-rpc.0 2017-12-27 11:20:22.327 info starting. Version 1.4.14 in /opt/iobroker/node_modules/iobroker.hm-rpc, node: v6.12.2 `
2010 scheint aber nicht auszureichen, den hab ich bereits weitergereicht
Update: gelöst, Adapteradresse darf nicht auf "auf allen IPs hören" stehen sondern muss auf die Schnittstelle gestellt werden
-
…doppelpost gelöscht
-
Ach verdammt,
irgendwie läuft das noch immer nicht richtig.
Der Homekit-Adapter läuft zwar aber vom iOS aus finde ich keine HomeKit Bridge.
Dann habe ich ein Backup zurückgespielt um nicht alles neu installieren zu müssen aber jetzt kann ich den Zwave-Adapter wieder nicht installieren:
! ` > $ ./iobroker add zwave
npm install iobroker.zwave –unsafe-perm --production --prefix "/opt/iobroker" (System call)
module.js:471 throw err;
^
Error: Cannot find module '../'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object. <anonymous>(/opt/iobroker/node_modules/.bin/which:2:13)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
module.js:471
throw err;
^
Error: Cannot find module '../'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object. <anonymous>(/opt/iobroker/node_modules/.bin/which:2:13)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
gyp: Call to 'which nodejs || which node' returned exit status 1 while in binding.gyp. while trying to load binding.gyp
gyp
ERR! configure error
gyp ERR! stack Error:
gyp
failed with exit code: 1gypERR! stack at ChildProcess.onCpExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:305:16)gyp ERR! stack at emitTwo (events.js:106:13)
gyp ERR! stack at ChildProcess.emit (events.js:191:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:219:12)
gyp ERR! System Linux 3.10.102gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /opt/iobroker/node_modules/openzwave-shared
gyp ERR! node -v v6.12.2
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok
npm
ERR! Linux 3.10.102npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "install" "iobroker.zwave" "--unsafe-perm" "--production" "--prefix" "/opt/iobroker"
npm ERR! node v6.12.2
npm ERR! npm v3.10.10
npm ERR! code ELIFECYCLE
npm ERR! openzwave-shared@1.4.0 install:
node-gyp rebuild
npm ERR! Exit status 1npm ERR!
npm ERR! Failed at the openzwave-shared@1.4.0 install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the openzwave-shared package,npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs openzwave-shared
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls openzwave-shared
npm ERR! There is likely additional logging output above.
npm
ERR! Please include the following file with any support request:npm ERR! /opt/iobroker/npm-debug.log
host.iobroker install adapter zwave
npm install iobroker.zwave --unsafe-perm --production --prefix "/opt/iobroker" (System call)</anonymous></anonymous> `
So langsam verliere ich ernsthaft den Spass am ioBroker
-
Ach verdammt,
irgendwie läuft das noch immer nicht richtig.
Der Homekit-Adapter läuft zwar aber vom iOS aus finde ich keine HomeKit Bridge.
Dann habe ich ein Backup zurückgespielt um nicht alles neu installieren zu müssen aber jetzt kann ich den Zwave-Adapter wieder nicht installieren:
! ` > $ ./iobroker add zwave
npm install iobroker.zwave –unsafe-perm --production --prefix "/opt/iobroker" (System call)
module.js:471 throw err;
^
Error: Cannot find module '../'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object. <anonymous>(/opt/iobroker/node_modules/.bin/which:2:13)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
module.js:471
throw err;
^
Error: Cannot find module '../'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object. <anonymous>(/opt/iobroker/node_modules/.bin/which:2:13)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
gyp: Call to 'which nodejs || which node' returned exit status 1 while in binding.gyp. while trying to load binding.gyp
gyp
ERR! configure error
gyp ERR! stack Error:
gyp
failed with exit code: 1gypERR! stack at ChildProcess.onCpExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:305:16)gyp ERR! stack at emitTwo (events.js:106:13)
gyp ERR! stack at ChildProcess.emit (events.js:191:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:219:12)
gyp ERR! System Linux 3.10.102gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /opt/iobroker/node_modules/openzwave-shared
gyp ERR! node -v v6.12.2
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok
npm
ERR! Linux 3.10.102npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "install" "iobroker.zwave" "--unsafe-perm" "--production" "--prefix" "/opt/iobroker"
npm ERR! node v6.12.2
npm ERR! npm v3.10.10
npm ERR! code ELIFECYCLE
npm ERR! openzwave-shared@1.4.0 install:
node-gyp rebuild
npm ERR! Exit status 1npm ERR!
npm ERR! Failed at the openzwave-shared@1.4.0 install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the openzwave-shared package,npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs openzwave-shared
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls openzwave-shared
npm ERR! There is likely additional logging output above.
npm
ERR! Please include the following file with any support request:npm ERR! /opt/iobroker/npm-debug.log
host.iobroker install adapter zwave
npm install iobroker.zwave --unsafe-perm --production --prefix "/opt/iobroker" (System call)</anonymous></anonymous> `
So langsam verliere ich ernsthaft den Spass am ioBroker `
Hallo Carsten,
sorry dass es bei dir immernoch nicht richtig rund läuft. Ich bin gerne bereit wo es geht zu unterstützen und falls nötig auch das Image anzupassen, aber was homekit und zwave angeht, da stochere ich, mangels passender Hardware, echt im Nebel…
Was ich halt nur machen kann, sind die Informationen über die Adapter (von git) nehmen und das ganze in meinem Image bestmöglich vorbereiten.
Wenn ich jetzt (so teste ich) ein frisches Image nehme, einen Container starte und ausschließlich die Option "mit erhöhten Rechten ausführen" und eine Portweiterleitung 9091 -> 8081 konfiguriere, startet ioBroker normal und die Weboberfläche ist über Port 9091 erreichbar. Anschließend kann ich sowohl zwave (dauert recht lange) als auch homekit installieren. Homekit wird auch grün, zwave ja nicht, weil ich ja keinen Stick dran habe. Auswählen könnte ich die verschiedenen Usb Ports aber.
An dem Punkt ist in Sache testen der Funktion bei mir leider Schluss.
Was deinen aktuellen Fehler bei der Installation des Zwave angeht, könntest du es nochmal so versuchen:
npm install iobroker.zwave --unsafe-perm --production
Manchmal hilft das…
Beim homekit könnte noch ein Port fehlen... Eventuell braucht es da noch ein Forwarding für den avahi?
Im Falle des zwave Adapters und der Netztwerkproblematik im Docker habe ich mich auch schon bei den Entwicklern zu Wort gemeldet. Leider lässt sich die Installationsroutine nicht so ohne Weiteres anpassen. Wenn ich Zeit finde, werde ich mal den Adapter forken und versuchen eine Docker-taugliche Version zu zaubern...
MfG,
Andre
PS: Vielleicht wäre es ja für dich denkbar für die problematischen Adapter mit einem Satelliten zu arbeiten (Stichwort Multihost). Ich habe zum Beispiel für alles was Hardware braucht (bei mir sind das Bluetooth Scanner und rflink) einen separaten Host laufen. Ist bei mir ein Cubietruck, könnte aber auch ein raspberry pi sein.
Grund: Ich wollte keine USB-Devices an der DS und (da meine DS nicht zentral steht) eine optimale Sende und Empfangsposition für Bluetooth und rflink.
Gesendet von meinem Smartphone mit Tapatalk
-
Guten Morgen Andre,
erstmal riesen Dankeschön für Deine Hilfe.
Leider funktioniert die ZWave Installation noch immer nicht.
Ich hatte gehofft, dass Du mit den Meldungen was anfangen kannst.
Die Installation des ZWave läuft bei Dir ja offensichtlich auch durch, also habe ich anscheinend (wiedermal) ne Ausnahmesituation. Schade ist das Ganze, weil es vor dem letzten Update (bis auf ZWave) monatelang lief.
Nunja, was auch immer Docker oder Synology geändert haben, wir werden es nicht beeinflussen.
Ich habe schon in Erwägung gezogen die Synology gänzlich vom iobroker zu befreien und auf eine eigene Plattform, nur für den Broker umzusteigen.
Mit den RPIs habe ich allerdings nur schlechte Erfahrungen. Hatte da ne Homebridge installiert die immer stabil lief, bis man mal wieder nach Wochen ne neue Karte installieren durfte. Das ist alles nur so halbgar.
Womit betreibst Du den Cubitruck? mit Festplatte oder SD-Karte?
Ich hatte auch schon nen NUC in Erwägung gezogen, bin mir nur noch nicht sicher welche Leistungsklasse da Sinnvoll ist.
Gruß Carsten
-
Womit betreibst Du den Cubitruck? mit Festplatte oder SD-Karte?
Ich hatte auch schon nen NUC in Erwägung gezogen, bin mir nur noch nicht sicher welche Leistungsklasse da Sinnvoll ist. ` Ich habe im Cubie eine SSD Festplatte drin. Die SD steckt nurnoch drin damit das Ding von Festplatte booten kann. Läuft jetzt sein nem Jahr ohne Probleme, sind aber auch nur 5 Adapter drauf installiert.
Intel NUC hatte ich auch schon mal auf dem Einkaufszettel. Allerdings würde ich da einen recht leistungsfähigen nehmen um genug Leistung für ein paar virtuelle Maschinen zu haben.
MfG,
André
Gesendet von meinem Smartphone mit Tapatalk
-
Allerdings würde ich da einen recht leistungsfähigen nehmen um genug Leistung für ein paar virtuelle Maschinen zu haben. `
Wie man hier sieht ist die Nutzung in virtuellen maschinen nicht immer ganz einfach. Ich habe eine Installation auf einem NUC5PPYH laufen, selbst der ist für iobroker allein völlig unterfordert.Ich habe im Cubie eine SSD Festplatte drin. `
Ich hatte da seit Jahren eine 500gb hdd drin, die natürlich nicht für 5 Jahre 24/7 ausgelegt war und irgendwann mit Lagerschaden ausgefallen war. Jetzt ist auch eine SSD drin. Der cubie ist mit seinem DualCore natürlich nicht mit einem Nuc zu vergleichen. Bei mir läuft noch ein MySQL server drauf.
Gruß Rainer
Der abgetrennte Teil zum Thema Virtualisierung - und evtl. Probleme dazu befindet sich jetzt hier:
-
Gruß Rainer
Der abgetrennte Teil zum Thema Virtualisierung - und evtl. Probleme dazu befindet sich jetzt hier:
Danke!
Gesendet von meinem Smartphone mit Tapatalk
-
Kurze Frage.
Ich habe das ioBroker-Abbild auf meiner DS718+ installiert, als ich noch 2 GB RAM hatte. Später habe ich dann auf 6 GB aufgerüstet. Dies hat der Docker auch direkt erkannt. Mir scheint nur, dass der ioBroker irgendwie immer noch von 2 GB RAM ausgeht. Oder täusche ich mich da?
Falls nein, wie bringe ich dem ioBroker bei, dass insgesamt 6 GB zur Verfügung stehen? Oder muss ich das Abbild dazu neu installieren?
Gruß,
Thorsten
PS.: Bei mir läuft der ioBroker mit sämtlichen Adaptern übrigens einwandfrei.
PPS.: Frohes Neues natürlich.
-
Es gibt einen unterschied zwischen FREI und Available.
Verbraucht + Frei != Gesamt.
Werbraucht + Frei + Cached = Gesamt.
Dann hat dein Docker wohl einen großen Cache
Gruß
Rainer
-
Hi Rainer,
heißt dann also, dass soweit alles in Ordnung ist, oder?
Gruß,
Thorsten
-
Ich denke schon.
Habe aber mit VMs keine Erfahrung
Gruß
Rainer
-
Hi Rainer,
kein Problem. Ich lasse es erst mal so.
Falls mir jemand der Docker-Experten noch einen Hinweis geben könnte, wäre ich aber trotzdem dankbar.
Gruß,
Thorsten
-
@dtp:Kurze Frage.
Ich habe das ioBroker-Abbild auf meiner DS718+ installiert, als ich noch 2 GB RAM hatte. Später habe ich dann auf 6 GB aufgerüstet. Dies hat der Docker auch direkt erkannt. Mir scheint nur, dass der ioBroker irgendwie immer noch von 2 GB RAM ausgeht. Oder täusche ich mich da?
2018-01-01_16h57_13.png
2018-01-01_16h58_28.png
Falls nein, wie bringe ich dem ioBroker bei, dass insgesamt 6 GB zur Verfügung stehen? Oder muss ich das Abbild dazu neu installieren?
Gruß,
Thorsten
PS.: Bei mir läuft der ioBroker mit sämtlichen Adaptern übrigens einwandfrei.
PPS.: Frohes Neues natürlich. `
Ich würde mir da keine großen Gedanken machen. Denke dass der Container schlicht die RAM Änderung der DS nicht mit bekommt/ bekommen kann. Vermutlich würde es reichen den Container zu löschen und neu an zu legen (sofern der ioBroker-Ordner auf die DS ausgelagert wurde).MfG,
André
-
Hallo André,
erstmal vielen Dank für Deine Einsatz, damit war ein ein leichtes ioBroker in Docker auf der DiskStation zu installieren.
Ich habe aber auch das Problem mit dem HomeKit Adapter, dieser startet sich nicht - Fehlermeldung:
! host.ioBroker 2018-01-02 18:29:24.013 error instance system.adapter.yahka.0 terminated with code 1 ()
! Caught 2018-01-02 18:29:24.013 error by controller[0]: at Object.Module._extensions..js (module.js:579:10)
! Caught 2018-01-02 18:29:24.013 error by controller[0]: at Module._compile (module.js:570:32)
! Caught 2018-01-02 18:29:24.012 error by controller[0]: at Object. (/opt/iobroker/node_modules/iobroker.yahka/node_modules/hap-nodejs/node_modules/mdns/lib/dns_sd.js:24:20)
! Caught 2018-01-02 18:29:24.012 error by controller[0]: at require (internal/module.js:20:19)
! Caught 2018-01-02 18:29:24.012 error by controller[0]: at Module.require (module.js:497:17)
! Caught 2018-01-02 18:29:24.012 error by controller[0]: at Function.Module._load (module.js:438:3)
! Caught 2018-01-02 18:29:24.012 error by controller[0]: at tryModuleLoad (module.js:446:12)
! Caught 2018-01-02 18:29:24.012 error by controller[0]: at Module.load (module.js:487:32)
! Caught 2018-01-02 18:29:24.012 error by controller[0]: at Object.Module._extensions..node (module.js:597:18)
! Caught 2018-01-02 18:29:24.012 error by controller[0]: at Error (native)
! Caught 2018-01-02 18:29:24.012 error by controller[0]: Error: /opt/iobroker/node_modules/iobroker.yahka/node_modules/hap-nodejs/node_modules/mdns/build/Release/dns_sd_bindings.node: wrong ELF class: ELFCLASS32
! Caught 2018-01-02 18:29:24.012 error by controller[0]: ^
! Caught 2018-01-02 18:29:24.012 error by controller[0]: throw ex;
! Caught 2018-01-02 18:29:24.011 error by controller[0]: /opt/iobroker/node_modules/iobroker.yahka/node_modules/hap-nodejs/node_modules/mdns/lib/dns_sd.js:35Die Prozesse "dbus-daemon –system", avahi-daemon laufen. Bonjour hatte ich auch schon abgeschaltet aber mit dem selben Ergebnis.
Was kann ich noch tun? Wenn du irgendetwas benötigst, Logs oder etwas anderes lass es mich wissen.
Danke!
Gruß
Alex
-
Ich würde mir da keine großen Gedanken machen. Denke dass der Container schlicht die RAM Änderung der DS nicht mit bekommt/ bekommen kann. Vermutlich würde es reichen den Container zu löschen und neu an zu legen (sofern der ioBroker-Ordner auf die DS ausgelagert wurde). `
Hi André,
danke für Deine Info. Hab mal eben einfach ein neues ioBroker-Abbild erzeugt und vorher das alte umbenannt. War kein Problem und lief innerhalb von Sekunden. Allerdings wurde mir exakt die gleiche Speicherauslastung vom ioBroker angezeigt. Zudem ergab eine Abfrage mit
vmstat -s
im alten Abbild, dass die 6 GB wohl korrekt erkannt wurden. Hab dann das neue Abbild wieder gelöscht und bin zum alten zurück. Alles gut.
Gruß,
Thorsten