Actualizaciones:

  • 2023-03-02: Revisión del documento y corrección de errores.

Introducción

Node-RED es una herramienta de programación para conectar dispositivos de hardware, API y servicios en línea de formas nuevas e interesantes.

Proporciona un editor basado en navegador que facilita la conexión de flujos mediante la amplia gama de nodos de la paleta que se pueden ejecutar con un solo clic.

Imagen

Instalación

La instalación en Docker se realiza usando la imagen nodered/node-red.

La forma más sencilla es usar un fichero docker-compose.yml con el siguiente contenido:

version: "3"
services:
  node-red:
    image: nodered/node-red:latest
    container_name: node-red
    environment:
      - TZ=Europe/Madrid
    volumes:
      - /home/pi/volumes/node-red:/data
    ports:
      - 1880:1880
    restart: unless-stopped

Se puede usar docker-compose up -d o usar el contenido del fichero en Portainer.

Configuración

Una vez en marcha, se puede acceder a Node-RED a través del puerto 1880 (en este ejemplo http://192.168.1.180:1880) y comenzar la configuración.

Una opción recomendable, además de utilizar HTTPS, es utilizar la autenticación de usuarios.

Para ello hay que descomentar esta sección del fichero settings.js para disponer de un usuario admin con todos los privilegios:

    adminAuth: {
        type: "credentials",
        users: [{
            username: "admin",
            password: "$2a$08$zZWtXTja0fB1pzD4sHCMyOCMYz2Z6dNbM6tl8sJogENOMcxWV9DN.",
            permissions: "*"
        }]
    },

Para generar la contraseña de este usuario hay que utilizar la herramienta node-red de la siguiente manera::

pi@pi4nas:~ $ docker exec -it node-red node-red admin hash-pw
Password:
$2a$08$zZWtXTja0fB1pzD4sHCMyOCMYz2Z6dNbM6tl8sJogENOMcxWV9DN.

A continuación se reinicia el contenedor para utilizar la nueva configuración.

Actualizar

Si ya se había instalado Node-RED anteriormente, se puede actualizar de la siguiente manera:

docker stop node-red
docker rm node-red
docker rmi nodered/node-red
docker-compose up -d

Soporte

Algunos comandos para gestionar la configuración del contenedor:

# Acceder al shell mientras el contenedor está ejecutándose
docker exec -it node-red /bin/bash

# Monitorizar los logs del contenedor en tiempo real
docker logs -f node-red

Referencias