🏡Inicio | 🗃️ Secciones | ❓ Soporte | Producto:

IoT Gateway NG


https://www.youtube.com/watch?v=GLgLeVrVtkU

Node-RED tiene una función de proyectos que no todo el mundo usa pero que es realmente interesante. Poder integrar Node-RED con Git nos permite hacer una gestión de los cambios además de tener una copia de seguridad del código. Pero una de las funciones más útiles es poder generar y mantener entornos de desarrollo y pre-producción sin tener que probarlo todo en producción.

docker-compose.yml

<aside> ⚠️ IMPORTANTE: hay que hacer un pequeño cambio en el fichero 'docker-compose.yml' presentado en el vídeo anterior (vídeo 18)

</aside>

version: "3.7"

services:
  node-red:
    container_name: node-red
    image: nodered/node-red:latest
    environment:
      - TZ=Europe/Madrid
    volumes:
      - /dev:/host/dev
      - /etc/localtime:/etc/localtime:ro
      - ./data:/data
      - ./known_hosts:/usr/src/node-red/.ssh/known_hosts
    network_mode: host
    healthcheck:
        #test: ["CMD", "curl", "--fail", "<http://localhost:1880>", "||","exit 1" ]
        test: ["CMD-SHELL","node /healthcheck.js"]
        interval: 60s
        timeout: 3s
        retries: 3
        start_period: 30s
    restart: unless-stopped
    privileged: true

https://gist.githubusercontent.com/i40sys/a975b02614c8ee2861ee56929daaa14e/raw/8aabb3a19fbbe2926af22db67d112ce56b74295d/docker-compose.yml

Añadir clave pública SSH para github.com al contenedor

cd /docker-data/node-red
ssh-keyscan -t rsa github.com > known_hosts

Habilitar proyectos en node-red

/docker-data/data/settings.js

// Customising the editor
    editorTheme: {
        projects: {
            // To enable the Projects feature, set this value to true
            enabled: true
        }
    }

https://gist.githubusercontent.com/i40sys/06b73b39f9c8089a2b3fe5ad047f79e8/raw/a5fb66e81c261ff2aadadf2be2c77ca229ec2d79/settings.js