Sconto del 50%. tutti i piani, tempo limitato. A partire da $2.48/mo
Nodo-ROSSO

Nodo-ROSSO

Node-RED è uno strumento di programmazione basato sul flusso visivo. Logica drag-and-drop per IoT, API e pipeline di domotica, con oltre 4000 nodi di community. Realizzato da IBM, progetto OpenJS Foundation, il motore di automazione standard nell'IoT industriale.

Versione

Ultimo

Sistema operativo

Ubuntu Server 24.04 LTS

minimo RAM

1 GB

Tipi di IP

IPV4,IPV6

Accesso a Node-RED

  • Apri il browser e vai a: https://<SERVER_IP>
  • Un avviso SSL del browser è previsto (certificato autofirmato)
  • È richiesta l'autenticazione (popup Autenticazione di base)
  • Metodo di autenticazione: Aut. base HTTP
  • Le credenziali vengono archiviate in modo sicuro in: /root/.cloudzy-creds

File e directory importanti

  • La directory di installazione principale è /root/node-red.
  • Il file di orchestrazione Docker è /root/node-red/docker-compose.yml.
  • I dati persistenti di Node-RED vengono archiviati in /var/lib/docker/volumes/node-red_node-red-data/_data.
  • Il file di configurazione di Nginx si trova in /etc/nginx/sites-available/node-red.
  • Le credenziali di autenticazione di base sono archiviate in /etc/nginx/auth/node-red.htpasswd.
  • I certificati TLS sono archiviati in /etc/nginx/ssl.

Gestione del servizio

Controlla lo stato del contenitore:

docker ps

Visualizza i log:

docker compose -f /root/node-red/docker-compose.yml logs -f

Riavvia Node-RED:

docker compose -f /root/node-red/docker-compose.yml restart

Riavvia Nginx:

systemctl restart nginx

Utente amministratore Node-RED (alternativa all'autenticazione di base)

Node-RED dispone di un proprio sistema di autenticazione interno, che può sostituire l'autenticazione di base HTTP.

1. Individua settings.js

Il file di configurazione principale si trova all'interno del volume Docker Node-RED: /var/lib/docker/volumes/node-red_node-red-data/_data/settings.js

2. Abilita adminAuth

Aprire settings.js e decommentare (o aggiungere) il file adminAuth sezione. Dovrebbe assomigliare a questo:

  adminAuth: {
      type: "credentials",
      users: [
          {
              username: "admin",
              password: "<HASHED_PASSWORD>",
              permissions: "*"
      }]
  },

3. Genera un hash della password

Puoi generare l'hash dall'interno del contenitore Node-RED:

docker exec -it node-red-node-red-1 node-red admin hash-pw

Ti verrà richiesto di inserire la tua password semplice.

Copia l'hash risultante e incollalo come file password valore in settings.js.

4. Riavviare Node-RED

Dopo la modifica settings.js:

docker compose -f /root/node-red/docker-compose.yml restart

5. Disabilita l'autenticazione di base HTTP in Nginx (facoltativo)

Modifica il file del sito Nginx: /etc/nginx/sites-available/node-red

Rimuovi o commenta queste righe:

auth_basic "Restricted";
auth_basic_user_file /etc/nginx/auth/node-red.htpasswd;

Ricarica Nginx:

systemctl restart nginx

Abilitare SSL con un dominio

1. Punta il tuo dominio all'IP del server.

2. Modifica la configurazione Nginx e sostituisci entrambi server_name <IP>; con il tuo dominio (<your-domain>) sia per i blocchi HTTP (porta 80) sia HTTPS (porta 443):

vim /etc/nginx/sites-available/node-red

3. Installa Certbot:

apt install -y certbot python3-certbot-nginx

4. Esegui il comando seguente per generare un certificato Let's Encrypt valido:

certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com

5. Sostituisci i percorsi SSL nella configurazione Nginx:

vim /etc/apache2/sites-available/node-red
# Before:
    # ssl_certificate /etc/nginx/ssl/fullchain.pem;
    # ssl_certificate_key /etc/nginx/ssl/privkey.pem;
# After:
    # ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
    # ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;

6. Riavvia Nginx per applicare le modifiche:

systemctl restart nginx

7. Apri il browser e vai a: https://yourdomain.com

Altro in Strumenti di sviluppo

App correlate.

Distribuisci Node-RED adesso. Da 2,48 $/mese.