Probleme container nodered

bonjour,
depuis ce matin j ai un petit pb nodered.
suite a une maj declenchée par watchtower, gladys et nodered ont été mis a jour mais pb, nodered ne redemarre pas ou plutot redemarre en boucle toutes les 30s env donc …

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
1 « J'aime »

Je rencontre le même problème que toi depuis hier !
J’ai regardé les logs de node_red et il s’agit d’un problème de permission… Le truc c’est que je n’ai aucune idée de comment régler ce problème.

je confirme, meme message d erreur dans mes 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]

Idem pour moi. :sleepy:

De même pour moi
Malheureusement je n’ai pas le temps d’investiguer si c’est le même problème que la dernière fois.

Pour le rflink

Bonsoir,
Suite a une mise a jour que j’ai interrompu sans faire attention (je pense car le dashboard ne s’affichait plus) et je me suis empressé de tout rebooter erreur grave :crazy_face:
suite a ca reinstall total de gladys , facile avec gladys plus mais entre temps la cle de sauvegarde a été modifier , sans que je n’y ai pris garde et donc heureusement qu’il y avait encore une sauvegarde de 3 mois, qui avait l’ancienne cle :sweat:
donc Gladys restaurée tout va bien avec un peu de mise a jour.
Maintenant Node red , je viens de réinstaller Node red et donc comme pour vous ça reboot toutes les 5 sec environ. je regarde dans /var/lib/node-red , et là les dossiers " /lib node_modules , package.json et setting. js ne sont pas créer.
voici mes log node red:

> 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
est ce que cette ligne indique le version de node -red, car avant nous étions en 2.1 quelque choses.
est ce que ce n’est pas lien à ça , ce problème d’installation
Si quelqu’un a une idée je suis preneur, car j’y ai passé la journée. :face_exhaling:

Il y a effectivement une nouvelle version de node red qui vient de sortir
Leur Wiki propose de démarrer le conteneur en root :
If you are seeing permission denied errors opening files or accessing host devices, try running the container as the root user.

L’exemple donné ajoute le paramètre -u dans la commande de démarrage du container:

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

Source
Attention que la commande proposée ici n’est sans doute pas identiquement la même que celle que vous avez utilisée. Il faudrait adapter la vôtre…

Édit: Si vous vous êtes basés sur la vidéo de @pierre-gilles , le paramètre -u est déjà utilisé… Désolé!

eh oui mon install nodered c est faites sur le modele de la video yt de @pierre-gilles .
donc la apres investig des log et le message d erreur precité je suis un peu coincé car la boite docker est un peu une boite noire pour les container, et desinstaller -reinstaller nodered ne me plait pas outre mesure (perte des personnalisation et flow créé…)

Bonjour @GBoulvin
effectivement j’ai suivi la vidéo de Pierre-Gilles

Ça veut dire que ça ne fonctionne pas , ou que -u est déjà utilisé et il faut y mettre autre chose ?
Et quelle est la solution alors, parce que pour moi aussi c’est un peu une boite noire :face_exhaling:

Malheureusement, il faudra attendre un spécialiste car mes compétences en Docker sont trop limitées…
Les droits d’écriture sont détaillés ici (en anglais).

Le principe est justement de pouvoir détruire le container sans perdre les données puisqu’elles sont stockées en dehors de celui-ci donc pas de crainte à avoir.

Vous devez corriger les droits sur le dossier de persistence.

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

Le chemin est a adapter selon besoin.

Un restart du conteneur est c’est réglé

1 « J'aime »

bonjour @VonOx ,
merci le pb venait bien de là , mais pourrais tu m expliquer car je reste septique :
l installation d origine de node red en suivant la demarche de @pierre-gilles fonctionnait bien et etait avec -u root
et la avec cette maj, vu la manip que tu nous a donné (qui fonctionne ) cela laisse entendre que le -u est passé à « sylvain »(dans mons cas)
n y a t il pas risque que cette modif ne soit pas stable dans le temps (autre maj), et pour la securité passer d un owner root a sylvain n est ce pas une potentielle porte ouverte…?

Merci Vincent
Heureusement que tu es là :wink:, c’est repartit pour moi , reste à restaurer les flows et après me battre avec zigbeeMqtt2 qui ne repart pas non plus.

Si tu veux du stable il ne faut pas mettre à jour avec watchtower ou utiliser une version spécifique de l’image ( pas en latest)

La commande que je vous ai donné est dans la documentation node red.

On est passé par une migration v2 vers v3

1 « J'aime »

ok,
ta reponse me rassure ! mais du coup pour une install nodered le -u root preco par @pierre-gilles n est plus valable ?
j avais ete voir dans le site nodered mais pas vu cela (j ai du mal redigé ma question…)
cette migration est elle liée a gladys (comme pour node en v 16) ou est ce du fait de nodered?

petite question annexe : sur le capteur xiaomi aquara de particule,temp, humidité as tu eu plus d element sur la non remontée des valeurs particules (ppb)

Le tuto de Pierre Gilles était valable à date lors de la rédaction du tuto.

Node red est indépendant de Gladys et orienté utilisateur avancés, si quelque chose ne fonctionne pas côté node red c’est pas côté Gladys qu’il faut blâmer.

La seule source de vérité sera la documentation node red

Pour ton autre problème ouvre un sujet dédié sinon on va s’y perdre.

Re, @VonOx .
d accord avec toi sur le tuto creé par pierre gilles, mais peut etre que dans les tuto il faudrait un petit addendum pour les nouveaux utilisateurs ?
sur la fonctionnalité particule, j ai fait debut juin une demande de fonctionnalité Air Quality pour aqara xiaomi tvoc où tu avais repondu et je pensais que cela etait integré dans la derniere version Gladys mais apparemment ce n est pas le cas (pb de test, merge…?)

re bonsoir,
je bloque encore sur node red et rflink , apparemment node red n’a pas accès au port /dev/ttyUSB1, où est branché mon rflink .
voici le message d’erreur générer par Node red

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

j’ai bien essayer de chercher " genre ça : sudo chmod 666 /dev/ttyUSB1, mais j’en ai marre de tout réinstaller à chaque erreur , alors je me tourne vers vous les spécialistes :smiley: si quelqu’un peut encore m’aider, :face_exhaling:
merci d’avance

+1
J’ai réussi à accéder à NodeRed (Merci beaucoup @GBoulvin) mais impossible de sélectionner le COM de la carte Arduino.
J’ai le port USB0 dédié au Zigbee (lorsque la clé est branchée) mais aucune autre proposition d’USB.
Je n’ai que ACM0 et AMA0 → erreur !
J’ai testé en ajoutant une autre carte arduino → ACM1 mais même erreur !
Help please …

Bonjour,
Même problème pour moi, sauf que mon port c’est /dev/ttyUSB0 ou 1 j’ai essayé les deux et j’ai toujours un accès refusé

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

J’ai un rflink (arduino mega) qui fonctionnait correctement branché sur le PI . le Pi a pourtant bien attribué le port au rflink et a ma cle sonoff. Je ne sais plus où chercher, peut être repasser en Version 2.x de node red