NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
Hallo,
habe jetzt auf Nodejs 8.15 upgedatet und bekomme dann folgende Fehlermeldung:
host.iobroker 2019-01-08 15:24:06.479 error instance system.adapter.yahka.0 terminated with code 1 () Caught 2019-01-08 15:24:06.479 error by controller[0]: at Function.Module._load (module.js:498:3) Caught 2019-01-08 15:24:06.479 error by controller[0]: at tryModuleLoad (module.js:506:12) Caught 2019-01-08 15:24:06.479 error by controller[0]: at Module.load (module.js:566:32) Caught 2019-01-08 15:24:06.479 error by controller[0]: at Object.Module._extensions..js (module.js:664:10) Caught 2019-01-08 15:24:06.479 error by controller[0]: at Module._compile (module.js:653:30) Caught 2019-01-08 15:24:06.479 error by controller[0]: at Object. <anonymous>(/opt/iobroker/node_modules/mdns/lib/dns_sd.js:32:22) Caught 2019-01-08 15:24:06.479 error by controller[0]: at require (internal/module.js:11:18) Caught 2019-01-08 15:24:06.479 error by controller[0]: at Module.require (module.js:597:17) Caught 2019-01-08 15:24:06.478 error by controller[0]: at Function.Module._load (module.js:475:25) Caught 2019-01-08 15:24:06.478 error by controller[0]: at Function.Module._resolveFilename (module.js:548:15) Caught 2019-01-08 15:24:06.478 error by controller[0]: Error: Cannot find module '../build/Release/dns_sd_bindings' Caught 2019-01-08 15:24:06.478 error by controller[0]: ^ Caught 2019-01-08 15:24:06.478 error by controller[0]: throw err; Caught 2019-01-08 15:24:06.477 error by controller[0]: module.js:550</anonymous>
Habe auch schon ein reinstall.sh probiert.
Aber es funktioniert nicht.
Bekomme immer eine Fehlermeldung:
bash: ./reinstall.sh: /bin/bash^M: Defekter Interpreter: Datei oder Verzeichnis nicht gefunden
Die Anweisungen von http://www.iobroker.net/docu/?page_id=8 … js_und_npm
habe ich auch schon probiert. Funktionert einfach nicht. Die Fehlermeldung bleibt trotzdem.
Was kann ich denn noch versuchen?
Das ist im Docker Terminal:
` > cd ..
root@iobroker:/opt# cd ..
root@iobroker:/# cd ..
root@iobroker:/# dir
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
root@iobroker:/# cd opt
root@iobroker:/opt# dir
image iobroker scripts
root@iobroker:/opt# cd iobroker
root@iobroker:/opt/iobroker# dir
backup_iobroker_folder.sh iobroker namen.csv npm-debug.log.3870152223 reinstall.sh
backups iobroker-data node_modules npm-debug.log.797897946 startup.sh
cache iobroker.syno.txz npm-debug.log.1104337459 opt
surveillance
etc killall.sh npm-debug.log.2344105117 package.json
install.sh log npm-debug.log.3722157902 PaxHeader
root@iobroker:/opt/iobroker# reinstall.sh
bash: reinstall.sh: Kommando nicht gefunden.
root@iobroker:/opt/iobroker# /reinstall.sh
bash: /reinstall.sh: Datei oder Verzeichnis nicht gefunden
root@iobroker:/opt/iobroker# `
-
In Putty hab ich es jetzt versucht mit folgendem Befehl: . reinstall.sh ohne /
da bekomme ich folgende Meldung:
-ash: iobroker: command not found -ash: /r>\r': command not found -ash: reinstall.sh: line 29: syntax error near unexpected token `done' 'ash: reinstall.sh: line 29: ` done < "$BASE/reinstall.list.txt" root@Datenserver2:/volume1/docker2/iobroker_mount/opt/iobroker#
-
Eine Seite zurück im Thread unter viewtopic.php?f=17&t=5089&start=560#p204238 ist die Lösung
-
Habe ich schon alles durch.
Bringt keine Lösung.
-
Ich habe es jetzt raus!
Ich habe das falsche Hochkomma benutzt!
Oh mein Gott!
So viel Zeit vertrödelt wegen so einem blöden Hochkomma!
-
hab erfolgreich den docker auf 2.0 geupdatet, habe dann ein fullbackup von dem backupadapter das ich vorher gemacht habe eingespielt sowie ein reinstall. Nun habe ich ein haufen fehler bei dem javascriptadapter.
was habe ich da falsch gemacht?
hätte ich nur ein minimal update einspielen sollen?
Update:
Liegt an der Javascript version 4 nachdem ich auf 3.6.4 zurück bin habe ich nicht mehr so viel warunungen!
-
Hi André ,
magst du mir verraten wo aktuell (hab gesehen du machst gerade was dran, ich meine beim build von gestern Abend) bei deinem Container auf dem Dockerhub der Unterschied bei den Tags "latest" und "beta" liegt? Also in den Scripten und im Dockerfile? Probiere aktuell deinen Container für meinen Unraid Server zu nutzen, die beta startet jedoch der latest nicht. Jetzt würde mich interessieren wo es hängt.
Gruß
Christian
-
Hallo Christian,
ich vermute mal, dass dein Container immer wieder beendet wird. Dafür habe ich im beta einen Fix gebastelt. Eigentlich war mein Container ja nur für Docker auf Synology DSM gedacht. Da tritt der Fehler nicht auf.
Andere Docker Installationen beenden hingegen Container in denen kein Prozess im Vordergrund läuft automatisch. Um dem entgegen zu wirken habe ich das hier ins Startschritt eingebaut:
https://github.com/buanet/docker-iobrok … 8770caeeef
Vielleicht hilft das auch bei dir.
MfG,
André
-
Hallo André,
das war des Rätsels Lösung! Ich weiß nicht warum mir das nicht sofort aufgefallen ist. Das ein Container beendet wird wenn kein Prozess im Vordergrund läuft ist meines Wissens Standard. Zumindest hat das in der Arbeit der Docker Consultant behauptet.
P,S,; Hab dir mal noch ne PN geschickt.
Gruß
Christian
-
Hallo Zusammen
Ich hatte Probleme mit meinem ioBroker auf dem Raspi (Dachte es seien Leistungsprobleme. Deshalb habe ich ioBroker komplett neu auf meiner Syno installiert. Dies gemäss der Anleitung von Andre:
https://buanet.de/2017/09/iobroker-unte … station/2/
(Danke für die tolle Anleitung!)
Punkt 3 und 5 aus der Anleitung ebenfalls umgesetzt. Gemäss Empfehlung Andre.
in IoBroker konnte ich Adapter installieren. Was nicht klappt, Adapter aus eigenem Link zu installieren. In den Logs erhalte ich immer die Info das irgend welche Schreib- / Leserechte nicht vorhanden sind.
gyp ERR! clean error gyp ERR! stack Error: EACCES: permission denied, rmdir 'build' gyp ERR! System Linux 3.10.105 gyp 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/authenticate-pamgyp ERR! node -v v8.15.0 gyp ERR! node-gyp -v v3.8.0 gyp ERR! not ok
oder weiter unten:
gyp WARN EACCES user "undefined" does not have permission to access the dev dir "/root/.node-gyp/8.15.0" gyp WARN EACCES attempting to reinstall using temporary dev dir "/opt/iobroker/node_modules/epoll/.node-gyp" gyp WARN install got an error, rolling back install gyp WARN install got an error, rolling back install gyp ERR! configure error gyp ERR! stack Error: EACCES: permission denied, mkdir '/opt/iobroker/node_modules/epoll/.node-gyp'
flogende beiden Pakete wollte ich installieren:
https://github.com/Zefau/ioBroker.roomba
https://github.com/CTJaeger/ioBroker.snmp
Hat mir jemand einen Tipp?
Liebe Grüsse
-
Hallo Christian,
ich vermute mal, dass dein Container immer wieder beendet wird. Dafür habe ich im beta einen Fix gebastelt. Eigentlich war mein Container ja nur für Docker auf Synology DSM gedacht. Da tritt der Fehler nicht auf.
Andere Docker Installationen beenden hingegen Container in denen kein Prozess im Vordergrund läuft automatisch. Um dem entgegen zu wirken habe ich das hier ins Startschritt eingebaut:
https://github.com/buanet/docker-iobrok … 8770caeeef
Vielleicht hilft das auch bei dir.
MfG,
André `
Also bei trat der Fehler auch im Docker Container auf der Synology auf. Durch die Beta Version ist das aber gelöst!
-
Ich NOOB hab folgendes Problem:
Nach root@ioBroker:/opt/iobroker# iobroker host this
bekomme ich immer folgende Fehlermeldung
No connection to states 127.0.0.1:6379[redis]
Kann mir jemand helfen? Danke!
-
Standardmäßig ist kein Redis-Server installiert. Damit keine Verbindung. Entweder Redis als Container einbinden oder auf file umstellen.
-
Buhuhhh
Danke für die Antwort. Leider bin ich offensichtlich ein ziemlicher Linux Noob. Redis als Container einbinden hört sich kompliziert an. Was heißt auf "file umstellen"? 1000DANK!!!
-
Kurzer aber wichtiger Hinweis für alle Synology-Docker-ioBroker-Benutzer:
Ich bin gerade wie wild am Testen für eine neue Stable-Version die auch auf anderen Systemen (bei mir eine VM mit Debian und Docker CE) wunderbar läuft.
Es ist mir allerdings bisher nicht gelungen die neue Container Version auf der Synology im "Host-Modus" zum Laufen zu bringen. Vermutlich liegt der Auslöser in der Verwendung des neuen ioBroker-Installationsscripts. Hier hat sich einiges getan und wie es ausschaut hat Docker auf der DiskStation ein Problem mit der Verwendung von sudo. Da es aber auf meiner Debian-VM tadellos funktioniert, gehe ich mal davon aus, dass das ein Problem von Docker auf der Synology ist…
Wie auch immer. Ich werde mich wohl vom Host-Modus verabschieden und dafür in einer neueren Version meiner Anleitung sowohl auf den Bridge-Modus als auch auf eine Lösung mit macvlan (eigene IP für den Container) eingehen. Außerdem forciere ich aktuell das Thema Portainer und die Möglichkeit mit Templates zu arbeiten um das erstellen eines ioB Containers noch einfacher zu machen...
Für Ideen und Anregungen bin ich immer offen.
MfG,
André
-
Entweder du versucht mal https://forum.iobroker.net/viewtopic.php?f=17&t=5089&start=560#p204743 oder du schaust dir mal den Befehl "iobroker setup custom" http://www.iobroker.net/docu/?page_id=3068&lang=de an.
-
Hallo Michael,
danke für Deine Hilfe!!!!
Ich hab jetzt Dein Tutorial soweit durchgearbeitet, aber diese Mulithost-Geschichte bekomme ich nicht hin. Ich verlier da gerade die Nerven! Dachte eigentlich es sei einfach die ioBroker Installation vom Pi auf Synology umziehen zu lassen. Dem ist aktuell wohl noch nicht so. Für mich als ambitioniertem Laien leider zu schwer. Total schade. Mal sehen vielleicht bring ich morgen mehr Geduld mit…
-
Naja, Multihost brauchst du ja nur bei mehreren Geräten die du quasi verknüpfen willst. Wenn es nur auf der Syno laufen soll also nicht relevant.
-
Was ich nicht verstehe, warum ich redis und mysql überhaupt brauche? (wahrscheinlich dumme Frage, aber was solls…) Auf meinem Pi lief ioBroker doch auch so. Wieso kann er das nicht im Container?
-
Wenn du nach meiner Anleitung gehst ist redis mit dabei, als eigener Container. Du brauchst die Datenbanken nicht unbedingt, aber die Geschwindigkeit ist höher als in Dateien zu schreiben und vermutlich wird auch die Festplatte weniger belastet (reine Vermutung).