Skip to content
BotServBotServ
Node-REDInstallationDockerFlow-EditorIoT

Node-RED installieren

Node-RED installieren und einrichten. Docker, npm, erste Flows, Dashboard und Troubleshooting.

S

schutzgeist

5 min read
Node-RED installieren

Node-RED installieren

Was dieser Artikel über die Node-RED-Installation behandelt

  • Wie Du Node-RED mit Docker oder npm installierst.
  • Wie Du die Grundkonfiguration vornimmst und absicherst.
  • Wie Du Deinen ersten Flow erstellst.
  • Welche Erweiterungen (Nodes) wichtig sind.
  • Troubleshooting für häufige Probleme.

Einleitung: Node-RED installieren verständlich erklärt

Node-RED ist ein visueller Flow-Editor: Du verbindest Nodes (Bausteine) per Drag-and-Drop zu Flows. Ursprünglich für IoT entwickelt, eignet sich Node-RED auch hervorragend für KI-Automatisierung, Home-Assistant-Integration und Datenverarbeitung.

Dieser Artikel richtet sich an Anwender, die Node-RED installieren wollen. Grundlagen findest Du in Node-RED für KI-Automatisierung und Docker Grundlagen.

Warum brauche ich Node-RED?

Stell Dir vor, Du willst Sensordaten verarbeiten, auf MQTT-Nachrichten reagieren oder APIs verbinden. Statt Skripte zu schreiben, ziehst Du Nodes auf eine Arbeitsfläche und verbindest sie. Node-RED ist ideal für Event-getriebene Automatisierung, besonders im IoT- und Smart-Home-Bereich.

Node-RED installieren kurz erklärt

Node-RED ist ein Node.js-basiertes Tool. Am einfachsten installierst Du es mit Docker. Im Browser öffnest Du den Editor auf Port 1880 und baust Flows per Drag-and-Drop.

Der Kerngedanke lautet: Visuelle Programmierung für Datenflüsse.

Für wen ist dieser Artikel gedacht?

  • Self-Hoster, die Node-RED installieren wollen.
  • IoT-Nutzer, die Sensoren und Geräte automatisieren.
  • Automatisierer, die Event-getriebene Flows bauen.
  • Home-Assistant-Nutzer, die komplexe Automatisierung brauchen.

Wichtige Begriffe

  • Node-RED - Visueller Flow-Editor. Wann nützlich: das Tool selbst.
  • Flow - Verbundene Nodes. Wann nützlich: ein automatisierter Prozess.
  • Node - Einzelner Baustein. Wann nützlich: für Trigger, Verarbeitung, Ausgabe.
  • Palette - Node-Bibliothek. Wann nützlich: für Erweiterungen.
  • Docker - Container. Wann nützlich: für Installation.
  • MQTT - IoT-Protokoll. Wann nützlich: für Sensordaten.
  • Home Assistant - Smart Home. Wann nützlich: für Hausautomatisierung.

Installation mit Docker

Basis-Installation

docker run -d \
  --name nodered \
  -p 1880:1880 \
  -v nodered_data:/data \
  --restart unless-stopped \
  nodered/node-red:latest

Browser öffnen: http://localhost:1880

Mit Docker Compose

version: "3.8"

services:
  nodered:
    image: nodered/node-red:latest
    container_name: nodered
    restart: unless-stopped
    ports:
      - "1880:1880"
    environment:
      - TZ=Europe/Berlin
    volumes:
      - nodered_data:/data
    networks:
      - automation

volumes:
  nodered_data:

networks:
  automation:
    driver: bridge
docker compose up -d

Installation mit npm

# Node.js installieren (falls nicht vorhanden)
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs

# Node-RED installieren
sudo npm install -g --unsafe-perm node-red

# Starten
node-red

Als systemd-Service

# /etc/systemd/system/nodered.service
[Unit]
Description=Node-RED
After=network.target

[Service]
Type=simple
User=nodered
ExecStart=/usr/bin/node-red
Restart=on-failure
Environment=NODE_RED_OPTIONS=-v

[Install]
WantedBy=multi-user.target
sudo systemctl enable nodered
sudo systemctl start nodered

Grundkonfiguration

settings.js

// /data/settings.js (Docker) oder ~/.node-red/settings.js
module.exports = {
    // Admin-Authentifizierung
    adminAuth: {
        type: "credentials",
        users: [{
            username: "admin",
            password: "$2b$08$...",  // bcrypt-Hash
            permissions: "*"
        }]
    },

    // Port und Host
    uiPort: process.env.PORT || 1880,
    uiHost: "0.0.0.0",

    // HTTPS (für Produktion)
    // https: {
    //     key: require("fs").readFileSync("/data/privkey.pem"),
    //     cert: require("fs").readFileSync("/data/fullchain.pem")
    // },

    // Context Storage
    contextStorage: {
        default: { module: "localfilesystem" }
    },

    // Logging
    logging: {
        console: {
            level: "info",
            metrics: false,
            audit: false
        }
    }
};

Passwort-Hash generieren

# Im Node-RED-Container
docker exec -it nodered npx node-red admin hash-pw

# Oder lokal
npx node-red admin hash-pw

Erster Flow

Hallo Welt

  1. Inject Node auf die Arbeitsfläche ziehen.
  2. Debug Node daneben ziehen.
  3. Beide verbinden (Klick auf Ausgang → Ziehen zum Eingang).
  4. Auf „Deploy” klicken.
  5. Inject-Button klicken → Debug-Panel zeigt Ausgabe.

HTTP-Endpoint

[HTTP In] → [Function] → [HTTP Response]

HTTP In: GET /api/hello
Function: msg.payload = { message: "Hallo von Node-RED" }; return msg;
HTTP Response: 200

Testen: curl http://localhost:1880/api/hello

Wichtige Nodes installieren

Palette Manager

  1. Menu → „Manage palette”
  2. Tab „Install”
  3. Suchen und installieren

Empfohlene Nodes

NodeZweck
node-red-dashboardUI-Dashboards
node-red-contrib-home-assistant-websocketHome Assistant
node-red-contrib-mqtt-brokerMQTT-Server
node-red-node-emailE-Mail
node-red-contrib-influxdbInfluxDB
node-red-contrib-postgresPostgreSQL
node-red-contrib-ollamaOllama-Integration
# Via npm installieren
cd /data
npm install node-red-dashboard node-red-contrib-home-assistant-websocket

Ollama in Node-RED

// Function Node: Ollama aufrufen
const response = await fetch("http://ollama:11434/api/chat", {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({
        model: "llama3.1",
        messages: [
            { role: "user", content: msg.payload }
        ],
        stream: false
    })
});
const data = await response.json();
msg.payload = data.message.content;
return msg;

Oder nutze den node-red-contrib-ollama Node für eine einfachere Integration. Siehe Node-RED KI-Integration.

Mit Home Assistant verbinden

[events: state] → [switch] → [call service]

events: state:
  Entity: sensor.temperature
  If state: > 25

call service:
  Domain: climate
  Service: set_temperature
  Data: {"temperature": 21}

Siehe Node-RED Home Assistant.

Sicherheitshinweise

  • Admin-Auth aktivieren: Sonst kann jeder Flows ändern.
  • HTTPS: Für externen Zugriff TLS nutzen. Siehe TLS-Zertifikate.
  • Nicht exponieren: Node-RED nicht ohne Authentifizierung ins Internet.
  • Firewall: Port 1880 nur intern oder hinter Reverse Proxy.
  • Backup: /data-Verzeichnis sichern (enthält Flows und Settings). Siehe Backup.

Troubleshooting

Node-RED startet nicht

# Logs prüfen
docker logs nodered

# Häufige Ursachen:
# - Port 1880 belegt
# - settings.js fehlerhaft
# - Node.js-Version zu alt

Nodes fehlen nach Neustart

# Nodes persistent installieren
# In settings.js:
# externalModules: { autoInstall: true }

# Oder in Docker:
docker exec -it nodered npm install node-red-dashboard

Flows weg nach Update

# Flows sind im Volume /data/flows.json
# Wenn Volume nicht gemountet: Flows gehen verloren
# Immer Volume mounten: -v nodered_data:/data

Typische Stolpersteine

  • Keine Authentifizierung: Standardmäßig ist Node-RED offen. Immer adminAuth setzen.
  • Kein Volume: Ohne Volume gehen Flows bei Container-Neustart verloren.
  • Falsche Node-Version: Node-RED braucht Node.js 18+.
  • Netzwerk in Docker: localhost in einem Flow referenziert den Container, nicht den Host.
  • Zu viele Nodes: Jede Erweiterung vergrößert die Angriffsfläche. Nur nötige installieren.

Key Takeaways:

  • Node-RED ist ein visueller Flow-Editor, ideal für IoT und Event-Automatisierung.
  • Installation mit Docker (empfohlen) oder npm.
  • Admin-Auth und HTTPS für Produktion Pflicht.
  • Erweiterungen über Palette Manager oder npm.
  • Volumen mounten, sonst gehen Flows verloren.

FAQ

Was ist Node-RED?

Node-RED ist ein visueller Flow-Editor. Du verbindest Nodes per Drag-and-Drop zu Flows. Ursprünglich für IoT, heute auch für KI-Automatisierung und Datenverarbeitung.

Wie installiere ich Node-RED?

Am einfachsten mit Docker: docker run -d -p 1880:1880 -v nodered_data:/data nodered/node-red:latest. Alternativ mit npm: npm install -g node-red.

Auf welchem Port läuft Node-RED?

Standardmäßig Port 1880. Öffne http://localhost:1880 im Browser für den Flow-Editor.

Node-RED oder n8n?

Node-RED für IoT, MQTT und Event-getriebene Flows. n8n für API-Integrationen, SaaS und komplexere Business-Workflows. Beide können mit Ollama verbunden werden.

Wie sichere ich Node-RED ab?

adminAuth in settings.js aktivieren, HTTPS nutzen, nicht ins Internet exponieren, Firewall konfigurieren. Ohne Auth kann jeder Flows ändern.

Welche Erweiterungen brauche ich?

node-red-dashboard für UIs, node-red-contrib-home-assistant-websocket für Smart Home, node-red-contrib-ollama für KI, node-red-node-email für E-Mail.

Wie verbinde ich Node-RED mit Home Assistant?

Installiere node-red-contrib-home-assistant-websocket. Dann kannst Du auf Entity-Changes reagieren und Services aufrufen. Siehe Node-RED Home Assistant.

Wie sichere ich meine Flows?

Das /data-Verzeichnis enthält flows.json und settings.js. Sichere das Docker-Volume oder exportiere Flows als JSON über den Editor.

Kann ich Ollama in Node-RED nutzen?

Ja, über einen Function Node mit fetch() oder über node-red-contrib-ollama. Beide müssen im selben Docker-Netzwerk sein.

Quellen und weiterführende Literatur

Zurück zum KI Blog
Share:

Ähnliche Beiträge