50 % Rabatt alle Pläne, begrenzte Zeit. Ab $2.48/mo
Knoten-ROT

Knoten-ROT

Node-RED ist ein visuelles, flussbasiertes Programmiertool. Drag-and-Drop-Logik für IoT, APIs und Hausautomations-Pipelines mit über 4.000 Community-Knoten. Entwickelt von IBM, OpenJS Foundation-Projekt, der Standard-Automatisierungs-Engine im industriellen IoT.

Version

Letzte

Betriebssystem

Ubuntu Server 24.04 LTS

Min. RAM

1 GB

IP-Typen

IPV4, IPV6

Zugriff auf Node-RED

  • Öffne deinen Browser und besuche: https://<SERVER_IP>
  • Eine SSL-Warnung im Browser ist zu erwarten (selbstsigniertes Zertifikat)
  • Authentifizierung ist erforderlich (Popup „Basic Auth“)
  • Authentifizierungsmethode: HTTP Basic Auth
  • Anmeldeinformationen werden sicher gespeichert in: /root/.cloudzy-creds

Wichtige Dateien und Verzeichnisse

  • Das Hauptinstallationsverzeichnis ist /root/node-red.
  • Die Docker-Orchestrierungsdatei ist /root/node-red/docker-compose.yml.
  • Persistente Node-RED-Daten werden in gespeichert /var/lib/docker/volumes/node-red_node-red-data/_data.
  • Die Nginx-Konfigurationsdatei befindet sich unter /etc/nginx/sites-available/node-red.
  • Die Anmeldeinformationen für die Basisauthentifizierung werden in gespeichert /etc/nginx/auth/node-red.htpasswd.
  • TLS-Zertifikate werden in gespeichert /etc/nginx/ssl.

Service-Management

Containerstatus prüfen:

docker ps

Logs ansehen:

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

Node-RED neu starten:

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

Starte Nginx neu:

systemctl restart nginx

Node-RED-Administratorbenutzer (Alternative zur Basisauthentifizierung)

Node-RED verfügt über ein eigenes internes Authentifizierungssystem, das HTTP Basic Auth ersetzen kann.

1. Lokalisieren settings.js

Die Hauptkonfigurationsdatei befindet sich im Node-RED Docker-Volume: /var/lib/docker/volumes/node-red_node-red-data/_data/settings.js

2. Aktivieren adminAuth

Offen settings.js und auskommentieren (oder hinzufügen). adminAuth Abschnitt. Es sollte ungefähr so ​​aussehen:

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

3. Generierre einen Passwort-Hash

du kannst den Hash aus dem Node-RED-Container generieren:

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

du wirst aufgefordert, dein einfaches Passwort einzugeben.

Kopiere den resultierenden Hash und füge ihn als ein password Wert in settings.js.

4. Starte Node-RED neu

Nach der Bearbeitung settings.js:

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

5. Deaktiviere HTTP Basic Auth in Nginx (optional)

Bearbeite die Nginx-Site-Datei: /etc/nginx/sites-available/node-red

Entfernen oder kommentiere diese Zeilen aus:

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

Nginx neu laden:

systemctl restart nginx

SSL mit einer Domain aktivieren

1. Richte deine Domain auf die Server-IP aus.

2. Nginx-Konfiguration bearbeiten und beide ersetzen server_name <IP>; mit deiner Domain (<your-domain>) für beide Blöcke HTTP (Port 80) und HTTPS (Port 443):

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

3. Certbot installieren:

apt install -y certbot python3-certbot-nginx

4. Führe folgenden Befehl aus, um ein gültiges Let’s Encrypt-Zertifikat zu erzeugen:

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

5. SSL-Pfade in der Nginx-Konfiguration ersetzen:

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. Nginx neu starten, um die Änderungen anzuwenden:

systemctl restart nginx

7. Öffne deinen Browser und besuche: https://yourdomain.com

Mehr zu Entwicklungs-Tools

Verwandte Apps.

Stelle Node-RED jetzt bereit. Ab 2,48 $/Monat.