NEWS
js-controller updated nicht
-
Re: js-controller wird nicht geupdated
Moin in die Runde,
es ist wieder so weit, mein Erzfeind NodeJS will ein Update haben.Bin seit 6 Stunden dabei und starte mit einer Kurzfassung:
ioBroker läuft in Docker und Docker läuft auf Synology Diskstation.neuen Container erstellt mit buanet/iobroker:latest-v11 welche auf den vorherigen Dateipfad zeigt.
Der Start läuft durch und Hosts sieht auch gut aus:
Plattform: docker (official image - v11.0.0)
Betriebssystem: linux
Architektur: x64
CPUs: 2
Geschwindigkeit:2396 MHz
Modell:Intel(R) Celeron(R) CPU J3355 @ 2.00GHz
RAM:9.5 GB
System-Betriebszeit:18:03:32
Node.js: v22.19.0
time:1757852365050
NPM: 10.9.3
Adapter-Anzahl:576
Datenträgergröße:17872.1 GB
Freier Festplattenspeicher:4599.5 GB
Aktive Instanzen:28
Pfad:/opt/iobroker/
Betriebszeit:00:03:40Nun habe ich mit allen Varianten die ich finden konnte versucht den JS-Controller zu updaten.
also über den Button in iobroker selbst, "iob upgrade self" und "maintenance script".
Bei iob ugrade self und maintenance läuft die installation fehlerfrei durch:
Über den Button trifft folgendes auf:
SyntaxError: Unexpected token '<', "<!doctype "... is not valid JSON
Das Fenster wird grau, Telegram adapter meldet "restarting" und nach dem raus-und-rein-tabben in das Browserfenster steht anschließend:
*schade kann keine Bilder hochladen, auch hier Fehlermeldung...
also abtippen:
npm error code ETARGET
npm error notarget No matching version found for admin@^7.4.10.
npm error notarget In most cases you or one of your dependencies are requesting
npm error notarget a package version that doesn't exist.
npm error A complete log of this run can be found in: /opt/iobroker/.npm/_logs/2025-09-14T12_27_31_827Z-debug-0.log
Could not install js-controller@7.0.7Inhalt der Logfile:
Ergebnis:
Alles wie vorher. JS-controller bleibt auf 6.0.11 und auch der Admin und alle anderen Adapter bleiben auf deren Versionen wenn ich versuche die zu aktualisieren.
Als würde der Ordner iobroker_data nicht gespeichert werden...Kann mir jemand helfen?
-
@troya sagte in js-controller updated nicht:
es ist wieder so weit, mein Erzfeind NodeJS will ein Update haben.
Dein 'Erzfeind' ist aber aktuell:
Node.js: v22.19.0
Du bist eher dein eigener Feind, indem du Updates verschläfst...
Gib mal die Ausgabe von
iob diag
bekannt.
-
@troya sagte in js-controller updated nicht:
ioBroker läuft in Docker und Docker läuft auf Synology Diskstation.
da hab ich ja wirklich keine Ahnung von!
Aber beim Mitlesen wurde meines Wissens immer um@troya sagte in js-controller updated nicht:
den JS-Controller zu updaten.
ein neuer Docker Container benötigt
-
Diesmal liegst DU falsch
Den JS Controller kannste über die Console updaten.
mit pkill -u iobroker
stoppst du den Iobroker .
Und dann mit nem Einzeiler den Controller installieren.
Vorher noch die anderen Adapter auf Stand bringen.
Admin z.B.Bin am Handy deswegen ist ne Anleitung gerade schwierig zu schreiben.
-
@thomas-braun sagte in js-controller updated nicht:
@troya sagte in js-controller updated nicht:
es ist wieder so weit, mein Erzfeind NodeJS will ein Update haben.
Dein 'Erzfeind' ist aber aktuell:
Node.js: v22.19.0Ja, den Container habe ich ja neu mit der neuen Buanet v11 wo die Node.js drauf ist.
Du bist eher dein eigener Feind, indem du Updates verschläfst...
Ja ich weiß. Mir fehlt aber die Zeit um da immer auf dem neusten Stand zu bleiben. Adapter mache ich ja ab und zu und wenn es dann heißt dass es ne neue Node-Version gibt, dann steht gerne darunter "geht noch nicht auf dem System XY" oder "Der Adapter XZ macht noch probleme". Und dabei den "Sweetspot" zu finden wo alle meine Adapter in Docker auf Diskstation reibungslos laufen ist häufig ohne lange Forumsuche nicht eben gemacht.
Gib mal die Ausgabe von
iob diag
bekannt.
Da steht jetzt "ist nicht für Docker gemacht" aber ich mach das jetzt trotzdem...genau sowas mein ich. Es könnte so einfach sein, aber es ist jedes mal wie der Sketch von Malcolm mittendrin und der Glühbirne:
https://youtu.be/LwlPC0BUjRo*Natürlich kann ich den Log aus dem Docker Terminal nicht im Stück kopieren sondern muss jeden sichtbaren Text kopieren in Notepad einfügen und eine Seite weiter scrollen....das dauert auch erstmal wieder...
So, fertig:
@homoran sagte in js-controller updated nicht:
Aber beim Mitlesen wurde meines Wissens immer um
@troya sagte in js-controller updated nicht:den JS-Controller zu updaten.
ein neuer Docker Container benötigt
Ja, den habe ich mit dem aktuellen Image von buanet v11 erstellt. Aber direkt auf den Ordner des Vorgängers verbunden. Das war möglicherweise der Fehler?
@haselchen sagte in js-controller updated nicht:
mit pkill -u iobroker
stoppst du den Iobroker .
Und dann mit nem Einzeiler den Controller installieren.
Vorher noch die anderen Adapter auf Stand bringen.
Admin z.B.Bin am Handy deswegen ist ne Anleitung gerade schwierig zu schreiben.
Habe ich versucht. Auch wenn es heißt man soll mit Docker das Maintenace script nehmen habe ich den "Hacky way" ebenfalls versucht. Die Version bleibt immer gleich, egal ob Admin, JS-Controller (per button in iobroker, per iob upgrade, maintenance)
-
Auch hier nochmal meine Empfehlung:
Man kann das im Container-Manager auch als "Projekt" aufsetzen. Dann wird die komplette Konfiguration in einer YAML-Datei abgelegt. In Docker nennt sich das "Compose" und in Portainer "Stacks". Ist aber alles das gleiche.Als Quelle wählst Du "docker-compose.yml erstellen" und fügst dann den folgenden Inhalt in den Editor ein.
Ein grundlegendesdocker-compose.yml
für ioBroker könnte so aussehen:services: iobroker: container_name: ioBroker image: buanet/iobroker:latest hostname: iobroker network_mode: "host" volumes: - /volume1/Docker/ioBroker:/opt/iobroker environment: PACKAGES: "nano" AVAHI: "true" restart: unless-stopped
Muss halt ggf. etwas an die eigenen Gegebenheiten angepasst werden.
Man beachte hier: Der Container läuft als "host". Man muss also keine Ports speziell mappen.
Könnte allerding schiefgehen, wenn auf der Synology noch andere Dienste (WebStation, Fotos usw.) laufen, die Ports beanspruchen die auch vom ioBroker verwendet werden. -
@troya sagte in js-controller updated nicht:
Die Kiste ist mehr als ausgelastet.
Systemuptime and Load: 18:45:05 up 22:29, 0 user, load average: 4.51, 3.05, 2.99 CPU threads: 2
*Natürlich kann ich den Log aus dem Docker Terminal nicht im Stück kopieren sondern muss jeden sichtbaren Text kopieren in Notepad einfügen und eine Seite weiter scrollen....das dauert auch erstmal wieder...
Dann verwende ein richtiges Terminal und log dich damit ein. Dann kann man das auch in einem Stück kopieren.
Kann man in Dockern den Kram nicht mit den üblichen Kommandos updaten?
-
Dann hast Du irgendwas krummes gemacht.
Ich betreibe seit 7 Jahren Container.
Mit nen Image/Container Update gab es nie Probleme.
Und das Du bei Version 11 noch auf JS Controller 6 bist, bestärkt meinen ersten Satz. -
Jup.
So ganz ungleich ist docker nicht zum Rest.
Befehle sind, würde ich sagen, 90% gleich. -
@thomas-braun sagte in js-controller updated nicht:
@troya sagte in js-controller updated nicht:
Die Kiste ist mehr als ausgelastet.
Laut Docker liegt die CPU-Auslastung bei Bummelig 20-30% und 1,6gb Ram.Systemuptime and Load: 18:45:05 up 22:29, 0 user, load average: 4.51, 3.05, 2.99 CPU threads: 2
*Natürlich kann ich den Log aus dem Docker Terminal nicht im Stück kopieren sondern muss jeden sichtbaren Text kopieren in Notepad einfügen und eine Seite weiter scrollen....das dauert auch erstmal wieder...
Dann verwende ein richtiges Terminal und log dich damit ein. Dann kann man das auch in einem Stück kopieren.
Habs ja hinbekommen.
Kann man in Dockern den Kram nicht mit den üblichen Kommandos updaten?
Die letzten male ging das, ja.
@haselchen sagte in js-controller updated nicht:
Dann hast Du irgendwas krummes gemacht.
Ich betreibe seit 7 Jahren Container.
Mit nen Image/Container Update gab es nie Probleme.
Und das Du bei Version 11 noch auf JS Controller 6 bist, bestärkt meinen ersten Satz.Wie machst du denn die Updates von Node?
Das Image lief ja problemlos durch. Nur wenn ich jetzt die 11 Adapter updaten lasse, dann laufen die Updates zwar durch, aber die Versionen ändern sich nicht. Same bei JS-Controller...hab ich halt so noch nicht erlebt...@haselchen sagte in js-controller updated nicht:
Jup.
So ganz ungleich ist docker nicht zum Rest.
Befehle sind, würde ich sagen, 90% gleich.Genau, Man muss etwas aufpassen mit den Rechten und Ordnern, aber sonst sollte das mit den gleichen Befehlen funktionieren.
-
-
@thomas-braun sagte in js-controller updated nicht:
Dann zeig doch mal, was bei
iob update iob upgrade
so um's Eck kommt.
iob Update:
iob upgrade (Admin Adapter):
Hier scheint das Problem zu liegen:
Cannot check dependencies: Invalid version of "js-controller". Installed "6.0.11", required ">=6.0.17 Cannot check dependencies: Invalid version of "admin". Installed "7.4.10", required ">=7.6.0
kann es sein, dass ich im alten Container den js-controller auf 6.0.17 und den Admin-Adapter auf 7.6.0 updaten muss damit im neuen Image die Updates funktionieren?
-
-
root@iobroker_v11:/opt/iobroker# iob upgrade self Update js-controller from @6.0.11 to @7.0.7 Stopped Objects DB Stopped States DB NPM version: 10.9.3 Installing iobroker.js-controller@7.0.7... (System call) root@iobroker_v11:/opt/iobroker# root@iobroker_v11:/opt/iobroker# root@iobroker_v11:/opt/iobroker# ^C root@iobroker_v11:/opt/iobroker# iob version 6.0.11 root@iobroker_v11:/opt/iobroker# ^C
wenn ich nochmal pkill -u iobroker eingebe wird der container neu gestartet...das sollte doch auch nicht sein oder?
Ich glaub ich muss das anders angehen. Es gibt doch auch eine Anleitung wo der Container ohne vorherige Installation erstellt wird und anschließend mit BackItUp alles wieder hergestellt wird. Wäre das besser? -
@troya sagte in js-controller updated nicht:
wenn ich nochmal pkill -u iobroker eingebe wird der container neu gestartet...das sollte doch auch nicht sein oder?
Keine Ahnung. Mit Docker steh ich auf Kriegsfuß.
Und bin deswegen auch raus. Muss sich einer der Docker-Jockeys anschauen. -
@thomas-braun
ok, trotzdem vielen Dank für deine Zeit!Vielleicht noch etwas was ich oben nachgetragen habe:
Hier scheint das Problem zu liegen:
Cannot check dependencies: Invalid version of "js-controller". Installed "6.0.11", required ">=6.0.17 Cannot check dependencies: Invalid version of "admin". Installed "7.4.10", required ">=7.6.0
kann es sein, dass ich im alten Container den js-controller auf 6.0.17 und den Admin-Adapter auf 7.6.0 updaten muss damit im neuen Image die Updates funktionieren?
-
Ich sag doch, mit Docker hab ich keine Aktien. Kann ich dir nix zu sagen.
-
@thomas-braun
na hätte ja sein können das du sagst "ja klar, 6.0.17 muss für Node.js 22.19.0 mindestens installiert sein"Aber ich bin auch durch für heute.
-
Da ich nicht weiss, wie Du das Teil aufgesetzt hast, stochern wir / ich im Nebel.