NEWS
Fehler bei Zugriff auf Admin nach node-Update im Docker
-
Hallo ioBroker-Geminde,
ich betreibe meinen ioBroker (buanet-Container) im Docker auf einem Synology-NAS.
Seit gestern habe ich das Problem, dass ich nicht mehr auf mein Admin-Web-Interface zugreifen kann.
Im Browser erhalte ich beim Aufruf die Nachricht, dass die Website nicht erreichbar sei...Was ist passiert?
Ich habe das Nodejs-Update über das Dockerterminal durchgeführt.
Über folgende Befehle:pkill -u iobroker iobroker update iobroker upgrade self
MOD-EDIT: Code in code-tags gesetzt!
Das Update lief auch fehlerfrei durch.
Anschließend habe ich über die Admin-Web-Ansicht das Update der Admin-Instanz ausgeführt. Nach ca. 20 Minuten und keiner sichtbaren Aktivität wurde ich leider ungeduldig- Ich habe den Tab im Browser geschlossen und wollte die Anwendung dann neu aufrufen, leider ohne Erfolg.
Dann habe ich den kompletten ioBroker-Container im Docker neu gestartet. Danach hatte ich leider imm noch keinen Zugriff auf das Web-Interface.Beim Starten des ioBroker-Container erhalte ich im Protokoll folgenden Fehler:
internal/modules/cjs/loader.js:818 throw err; ^ Error: Cannot find module '/opt/iobroker/node_modules/iobroker.js-controller/iobroker.js' at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15) at Function.Module._load (internal/modules/cjs/loader.js:667:27) at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12) at internal/main/run_main_module.js:17:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } /opt/scripts/iobroker_startup.sh: line 199: [: !=: unary operator expected
MOD-EDIT: Code in code-tags gesetzt!
Ich habe dann versucht über den Befehl:
iobroker add admin –port 8089
einen neuen Admin-Adapter anzulegen. Hat auch geklappt, der Zugriff auf das Web-Interface funktioniert über den neuen Port aber leider auch nicht.
Der Befehl
iobroker list instances
zeigt an, dass die admin-adapter scheinbar korrekt laufen:
system.adapter.admin.0 : admin - enabled, por t: 8081, bind: 0.0.0.0, run as: admin system.adapter.admin.1 : admin - enabled, por t: 8089, bind: 0.0.0.0, run as: admin
MOD-EDIT: Code in code-tags gesetzt!
Alle restlichen ioBroker-Instanzen laufen im Hintergrund problemlos. Zigbeegeräte samt Skripte sind z.B. noch komplett funktionsfähig....
Mir gehen als Anfänger leider nun die Ideen aus, habt ihr noch Tipps wie ich meine ioBroker-Installation retten kann?
Vielen Dank im Voraus!
-
Habe deinen Post mal als neuen Thread aufgemacht, die notwendigen Informationen in den Threadtitel eingefügt und die Code-Stellen in Code-tags gesetzt!
Bitte immer eigene Threads aufmachen, wenn der Post keine Ergänzung eines bestehenden Threads ist, sondern ein neues Thema betrifft:
Und bitte diesen Thread lesen:
https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge -
@schorsinator sagte in Fehler bei Zugriff auf Admin nach node-Update im Docker:
Ich habe das Nodejs-Update über das Dockerterminal durchgeführt.
Über folgende Befehle:
pkill -u iobroker iobroker update iobroker upgrade selfDamit macht man kein nodeJS-Update, damit aktualisierst du den js-controller.
cd /opt/iobroker sudo -H -u iobroker npm install iobroker.js-controller
würde ich auf einem nativen System versuchen. Ob das beim Docker auch funktioniert kann ich aber nicht beschwören.
-
@thomas-braun said in Fehler bei Zugriff auf Admin nach node-Update im Docker:
cd /opt/iobroker
sudo -H -u iobroker npm install iobroker.js-controllerDanke für deine schnelle Antwort. Da ich den Admin-Adapter nach den Befehlen über das Web-Interface aktualisieren konnte, war ich der Meinung, dass ich ein Nodejs-Update gemacht hätte...
Den von dir vorgeschlagenen Befehl habe ich ausgeführt, funktioniert somit scheinbar auch im Docker:
root@buanet-iobroker1:/opt/iobroker# sudo -H -u iobroker npm install iobroker.js-controller sudo: unable to resolve host buanet-iobroker1: Name or service not known > iobroker.js-controller@3.3.22 preinstall /opt/iobroker/node_modules/iobroker.js-controller > node lib/preinstallCheck.js NPM version: 6.14.15 > iobroker.js-controller@3.3.22 install /opt/iobroker/node_modules/iobroker.js-controller > node iobroker.js setup first object _design/custom updated object _design/system updated Renamed repository "default to "stable" Renamed repository "latest to "beta" > @root/acme@3.1.0 postinstall /opt/iobroker/node_modules/@root/acme > node scripts/postinstall > esbuild@0.11.23 postinstall /opt/iobroker/node_modules/esbuild > node install.js npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.3.2 (node_modules/chokidar/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) + iobroker.js-controller@3.3.22 added 43 packages from 19 contributors, removed 21 packages, updated 10 packages and moved 1 package in 52.339s 131 packages are looking for funding run `npm fund` for details
Der Aufruf der Admin-Web-Instanz funktioniert leider weiterhin nicht.
-
vorher
pkill -u iobroker
dann
sudo -H -u iobroker npm install iobroker.js-controller@3.3.22
dann Terminal verlassen und Container neu starten.
Danach, wenn es wieder funktioniert, kümmern wir uns um deine 2 Admins
Edit: da seid ihr beiden schneller gewesen
Kannst du über das Terminal
iobroker start admin.0
eingeben?
-
@schorsinator sagte in Fehler bei Zugriff auf Admin nach node-Update im Docker:
Renamed repository "default to "stable"
Renamed repository "latest to "beta"Da hast du aber schon lange nichts mehr getan. Die Umstellung ist schon 'ewig' her. Halt dein System regelmäßig auf Stand.
-
@haselchen wow, das Admin-Web-Interface ist wieder aufrufbar! 1000 Dank!
Du hast meinen Tag gerettet. Werde ich den 2 unnötigen Adminadapter wieder leicht los?
-
iobroker del admin.1
-
@haselchen der Adapter ist nun weg!
Vielen Dank für die Hilfe. Die Community in diesem Forum ist der Hammer! -
@thomas-braun werde ich machen, ich bin Anfänger und habe leider nicht die Zeit gefunden mich vorher mit dem Thema zu beschäftigen.
Danke
-
Wie schaut es denn im Moment bei dir aus?
iobroker update -i iobroker list instances ln -s /usr/bin/node /usr/bin/nodejs which nodejs node npm && nodejs -v && node -v && npm -v && apt update &> /dev/null && apt update && apt policy nodejs