Probleme container nodered

hallo,
seit heute morgen habe ich ein kleines Problem mit Node-RED.
Nach einem von Watchtower ausgelösten Update wurden Gladys und Node-RED aktualisiert, aber es gibt ein Problem: Node-RED startet nicht neu oder startet alle 30 Sekunden etwa in einer Endlosschleife, also …

sylvain@synapsat11:~$ docker ps -a
CONTAINER ID   IMAGE                       COMMAND                  CREATED       STATUS                             PORTS      NAMES
ae9ff8d75062   nodered/node-red:latest     "npm --no-update-not…"   4 hours ago   Up 21 seconds (health: starting)              node_red
e32af69a242b   gladysassistant/gladys:v4   "docker-entrypoint.s…"   4 hours ago   Up About an hour                              gladys
3f196abc60a0   koenkk/zigbee2mqtt:latest   "docker-entrypoint.s…"   13 days ago   Up About an hour                              gladys-z2m-zigbee2mqtt
20a06c81944b   eclipse-mosquitto:2         "/docker-entrypoint.…"   7 weeks ago   Up About an hour                              gladys-z2m-mqtt
e47dbe21ea17   eclipse-mosquitto:2         "/docker-entrypoint.…"   7 weeks ago   Up About an hour                              eclipse-mosquitto
e2eed4ce7108   containrrr/watchtower       "/watchtower --clean…"   7 weeks ago   Up About an hour                   8080/tcp   watchtower

Ich habe seit gestern dasselbe Problem wie du!
Ich habe die node_red-Logs überprüft und es handelt sich um ein Berechtigungsproblem… Das Problem ist, dass ich keine Ahnung habe, wie ich das Problem beheben soll.

ich bestätige, gleiche Fehlermeldung in meinen Logs

Welcome to Node-RED
===================

15 Jul 12:38:00 - [info] Node-RED version: v3.0.0
15 Jul 12:38:00 - [info] Node.js  version: v16.16.0
15 Jul 12:38:00 - [info] Linux 5.15.0-41-generic x64 LE
15 Jul 12:38:01 - [info] Loading palette nodes
Fri, 15 Jul 2022 12:38:07 GMT node-telegram-bot-api deprecated Automatic enabling of cancellation of promises is deprecated.
In the future, you will have to enable it yourself.
See https://github.com/yagop/node-telegram-bot-api/issues/319. at node:internal/modules/cjs/loader:1105:14
15 Jul 12:38:08 - [info] RedBot version: 0.19.19 (node-red-contrib-chatbot)
15 Jul 12:38:21 - [info] Dashboard version 3.1.7 started at /ui
15 Jul 12:38:22 - [error] Failed to start server:
15 Jul 12:38:22 - [error] Error: EACCES: permission denied, unlink '/data/.config.nodes.json.backup'

> node-red-docker@3.0.0 start
> node $NODE_OPTIONS node_modules/node-red/red.js $FLOWS "--userDir" "/data"

15 Jul 12:38:28 - [info]

Gleiches gilt für mich. :sleepy:

Gleiches gilt für mich
Leider habe ich keine Zeit, um zu untersuchen, ob es sich um dasselbe Problem wie beim letzten Mal handelt.

Für den Rflink

Hallo,
Nach einem Update, das ich versehentlich unterbrochen habe (denke ich, weil das Dashboard nicht mehr angezeigt wurde) und ich mich beeilt habe, alles neu zu starten - großer Fehler :crazy_face:
Danach vollständige Neuinstallation von Gladys, einfach mit Gladys Plus, aber in der Zwischenzeit wurde der Backup-Schlüssel geändert, ohne dass ich es bemerkt habe, und zum Glück gab es noch ein Backup von vor 3 Monaten, das den alten Schlüssel hatte :sweat:
Also Gladys wiederhergestellt, alles läuft gut mit ein paar Updates.
Jetzt Node Red, ich habe gerade Node Red neu installiert und daher wie bei Ihnen startet es alle 5 Sekunden neu. Ich schaue in /var/lib/node-red, und dort werden die Ordner " /lib node_modules, package.json und setting.js" nicht erstellt.
Hier sind meine Node-Red-Logs:

> node-red-docker@3.0.0 start
> node $NODE_OPTIONS node_modules/node-red/red.js $FLOWS "--userDir" "/data"

node:internal/fs/utils:345
    throw err;
    ^

Error: EACCES: permission denied, copyfile '/usr/src/node-red/node_modules/node-red/settings.js' -> '/data/settings.js'
    at Object.copyFileSync (node:fs:2817:3)
    at copyFile (/usr/src/node-red/node_modules/fs-extra/lib/copy/copy-sync.js:73:6)
    at onFile (/usr/src/node-red/node_modules/fs-extra/lib/copy/copy-sync.js:59:25)
    at getStats (/usr/src/node-red/node_modules/fs-extra/lib/copy/copy-sync.js:51:44)
    at handleFilterAndCopy (/usr/src/node-red/node_modules/fs-extra/lib/copy/copy-sync.js:36:10)
    at Object.copySync (/usr/src/node-red/node_modules/fs-extra/lib/copy/copy-sync.js:29:10)
    at Object.<anonymous> (/usr/src/node-red/node_modules/node-red/red.js:129:20)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
    at Module.load (node:internal/modules/cjs/loader:981:32) {
  errno: -13,
  syscall: 'copyfile',
  code: 'EACCES',
  path: '/usr/src/node-red/node_modules/node-red/settings.js',
  dest: '/data/settings.js'
}

node-red-docker@3.0.0 start
Zeigt diese Zeile die Version von Node-Red an, denn vorher waren wir bei 2.1 oder so?
Ist das nicht mit diesem Installationsproblem verbunden?
Falls jemand eine Idee hat, bin ich dankbar, denn ich habe den ganzen Tag daran gearbeitet. :face_exhaling:

Es gibt tatsächlich eine neue Version von Node-RED, die gerade veröffentlicht wurde
Ihr Wiki schlägt vor, den Container als Root zu starten:
Wenn Sie Fehler wie „Berechtigung verweigert“ beim Öffnen von Dateien oder beim Zugriff auf Host-Geräte erhalten, versuchen Sie, den Container als Root-Benutzer auszuführen.

Das gegebene Beispiel fügt den Parameter -u dem Container-Startbefehl hinzu:

docker run -it -p 1880:1880 -v node_red_data:/data --name mynodered -u node-red:dialout nodered/node-red

Quelle
Achtung, der hier vorgeschlagene Befehl ist wahrscheinlich nicht identisch mit dem, den Sie verwendet haben. Sie müssen Ihren anpassen…

Bearbeitung: Wenn Sie sich auf das Video von @pierre-gilles gestützt haben, wird der Parameter -u bereits verwendet… Entschuldigung!

Ja, meine Node-RED-Installation basiert auf dem YouTube-Video von @pierre-gilles. Nachdem ich die Logs und die oben genannte Fehlermeldung untersucht habe, bin ich etwas ratlos, denn die Docker-Box ist für Container eine Art Blackbox, und ich möchte Node-RED nicht unbedingt deinstallieren und neu installieren (Verlust der Anpassungen und erstellten Flows…).

Hallo @GBoulvin
Ich habe tatsächlich das Video von Pierre-Gilles verfolgt

Heißt das, dass es nicht funktioniert, oder dass -u bereits verwendet wird und man etwas anderes einsetzen muss?
Und was ist dann die Lösung, denn für mich ist das auch ein bisschen eine Blackbox :face_exhaling:

Leider wird man einen Spezialisten hinzuziehen müssen, da meine Docker-Kenntnisse zu begrenzt sind…
Die Schreibrechte sind hier (auf Englisch) detailliert beschrieben.

Der Sinn der Sache ist ja gerade, dass man den Container löschen kann, ohne die Daten zu verlieren, da diese außerhalb davon gespeichert werden. Also keine Sorge.

Sie müssen die Berechtigungen für das Persistenzverzeichnis korrigieren.

sudo chown -R 1000:1000 /var/lib/node-red

Der Pfad muss je nach Bedarf angepasst werden.

Ein Neustart des Containers und es ist erledigt.

Hallo @VonOx,
vielen Dank, das Problem lag tatsächlich dort, aber könntest du mir das erklären, ich bin immer noch skeptisch:
Die ursprüngliche Installation von Node Red funktionierte gut, indem ich der Anleitung von @pierre-gilles folgte und mit -u root arbeitete.
Und jetzt, mit diesem Update, basierend auf der von dir gegebenen Anleitung (die funktioniert), scheint es, dass der -u zu « sylvain » (in meinem Fall) gewechselt hat.
Ist das nicht riskant, dass diese Änderung nicht zeitlich stabil ist (bei einem anderen Update), und ist es nicht ein potenzielles Sicherheitsrisiko, vom Besitzer root zu sylvain zu wechseln…?

Danke Vincent
Gott sei Dank, dass du da bist :wink:, es läuft wieder bei mir. Jetzt muss ich nur noch die Flows wiederherstellen und mich dann mit zigbeeMqtt2 herumschlagen, das auch nicht wieder startet.

Wenn du Stabilität möchtest, solltest du nicht mit Watchtower aktualisieren oder eine bestimmte Version des Bildes (nicht die neueste) verwenden.

Der Befehl, den ich euch gegeben habe, steht in der Node-Red-Dokumentation.

Wir sind von einer Migration von v2 zu v3 durchgegangen

ok,
die Antwort beruhigt mich! Aber ist dann die -u root-Installation von @pierre-gilles für NodeRed nicht mehr gültig?
Ich habe auf der NodeRed-Website nachgeschaut, aber nichts dazu gefunden (ich habe meine Frage wohl nicht gut formuliert…)
Ist diese Migration mit Gladys verbunden (wie bei Node in Version 16) oder liegt das an NodeRed?

Kleine Zusatzfrage: Hast du mehr Informationen zum Xiaomi-Aqara-Sensor für Partikel, Temperatur und Luftfeuchtigkeit? Ich habe Probleme mit der Anzeige der Partikelwerte (ppb).

Pieres Gilles Anleitung war zum Zeitpunkt der Erstellung des Tutorials gültig.

Node red ist unabhängig von Gladys und für fortgeschrittene Benutzer konzipiert. Wenn etwas bei Node red nicht funktioniert, liegt das Problem nicht bei Gladys.

Die einzige verlässliche Quelle ist die Node red-Dokumentation

Für dein anderes Problem erstelle bitte einen eigenen Beitrag, sonst verlieren wir den Überblick.

Re, @VonOx.
Ich bin mit dir einer Meinung über das Tutorial von Pierre Gilles, aber vielleicht sollte es in den Tutorials einen kleinen Zusatz für neue Benutzer geben?
Zur Partikelfunktion habe ich Anfang Juni eine Funktionsanfrage für Air Quality für Aqara Xiaomi TVOC gestellt, auf die du geantwortet hast, und ich dachte, dass dies in der letzten Version von Gladys integriert wäre, aber anscheinend ist das nicht der Fall (Testproblem, Merge…?).

re guten abend,
ich hänge immer noch an node red und rflink fest, anscheinend hat node red keinen zugriff auf den port /dev/ttyUSB1, an dem mein rflink angeschlossen ist.
genau hier ist die fehlermeldung von node red

"[serialconfig:b72b80f45f12994a] serial port /dev/ttyUSB1 error: Error: Error: Permission denied, cannot open /dev/ttyUSB1"

ich habe wirklich versucht, danach zu suchen, z. b. so: sudo chmod 666 /dev/ttyUSB1, aber ich habe es satt, bei jedem fehler alles neu zu installieren, also wende ich mich an euch, die experten :smiley: wenn mich noch jemand helfen kann, :face_exhaling:
vielen dank im voraus

+1
Ich habe es geschafft, auf NodeRed zuzugreifen (Vielen Dank @GBoulvin), aber es ist unmöglich, den COM-Port der Arduino-Karte auszuwählen.
Ich habe den USB0-Port, der für Zigbee reserviert ist (wenn der Schlüssel angeschlossen ist), aber es werden keine weiteren USB-Ports angeboten.
Ich habe nur ACM0 und AMA0 → Fehler!
Ich habe es mit einer weiteren Arduino-Karte versucht → ACM1, aber derselbe Fehler!
Bitte um Hilfe ..

Hallo,
Ich habe das gleiche Problem, nur dass mein Port /dev/ttyUSB0 oder 1 ist, ich habe beide versucht und erhalte immer eine Zugriffsverweigerung

serialconfig:b72b80f45f12994a] serial port /dev/ttyUSB1 error: Error: Error: Permission denied, cannot open /dev/ttyUSB1

Ich habe einen rflink (Arduino Mega), der ordnungsgemäß an den PI angeschlossen war. Der Pi hat dem rflink und meinem Sonoff-Schlüssel dennoch den Port zugewiesen. Ich weiß nicht mehr, wo ich suchen soll, vielleicht auf Version 2.x von Node-RED zurückgehen.