Get Rewarded! We will reward you with up to €50 credit on your account for every tutorial that you write and we publish!

Node-RED mit Docker auf Debian installieren

profile picture
Author
Maximilian Feix
Published
2026-07-17
Time to read
8 minutes reading time

About the author- Lehrling bei Hetzner Online mit Interesse an Kubernetes, Ansible und Terraform. Ich arbeite gerne mit Cloud-Technologien, Automatisierung und moderner Infrastruktur.

Einführung

Node-RED ist eine leistungsstarke Open-Source-Plattform, die für die Erstellung datengestützter Anwendungen und automatisierter Workflows konzipiert ist. Mit ihrer visuellen, Low-Code-Schnittstelle ermöglicht Node-RED Benutzern aller Fähigkeitsstufen:

  • Daten aus verschiedenen Quellen zu erfassen und umzuwandeln
  • Visuelle Workflows ohne umfangreiche Programmierung zu erstellen
  • IoT-Lösungen, Home-Automation-Systeme und industrielle Steuerungsanwendungen zu erstellen
  • Wiederholte Aufgaben und Prozesse zu automatisieren

In diesem Tutorial wird die Installation von Node-RED auf einem Debian-Server mit Docker beschrieben. Dies vereinfacht die Bereitstellung und gewährleistet konsistente Umgebungen über verschiedene Systeme hinweg.

Voraussetzungen

Für dieses Tutorial benötigt man:

  • 1 Cloud-Server (z. B. von Hetzner Cloud)
    • Debian 13 als Betriebssystem
    • Root-Zugang oder ein Benutzerkonto mit sudo-Berechtigung
    • Grundlegende Vertrautheit mit der Befehlszeilenschnittstelle

Schritt 1 - SSH-Zugriff einrichten

SSH (Secure Shell) bietet verschlüsselten Zugriff auf den Server. Ein SSH-Schlüsselpaar wird benötigt, um sich sicher zu verbinden.

SSH-Schlüsselpaar erstellen (falls noch nicht vorhanden)

Auf dem lokalen Computer wird folgender Befehl ausgeführt:

ssh-keygen -t ed25519 -C "email@example.com"

Dies erstellt:

  • Privater Schlüssel: ~/.ssh/id_ed25519 (geheim halten!)
  • Öffentlicher Schlüssel: ~/.ssh/id_ed25519.pub (mit Servern teilen)

SSH-Schlüssel zur Hetzner Cloud hinzufügen

  1. Hetzner Console öffnen
  2. Ein Projekt auswählen
  3. Zu SicherheitSSH-Keys navigieren
  4. Auf SSH-Key hinzufügen klicken
  5. Den Inhalt von ~/.ssh/id_ed25519.pub kopieren und in die Konsole einfügen
  6. Einen aussagekräftigen Namen eingeben

SSH-Schlüssel hinzufügen

Server erstellen und verbinden

  1. In der Hetzner Console einen neuen Server erstellen
  2. Debian 13 als Betriebssystem auswählen
  3. Unter SSH-Keys den erstellten Schlüssel auswählen
  4. Auf Kostenpflichtig erstellen klicken
  5. Warten, bis der Server erstellt ist und die IP-Adresse notieren

SSH-Verbindung herstellen

Das Terminal öffnen und folgenden Befehl ausführen (die 203.0.113.1 durch die tatsächliche IP-Adresse des Servers ersetzen):

ssh root@203.0.113.1

Danach sollte die Verbindung mit dem Server hergestellt sein.

Erstelle einen Benutzer mit sudo-Rechten und verbinde dich damit:

adduser holu
usermod -aG sudo holu
rsync --archive --chown=holu:holu ~/.ssh /home/holu
exit
ssh holu@203.0.113.1

Schritt 2 - System aktualisieren

Vor der Docker-Installation sollten der Paketcache des Systems aktualisiert und alle installierten Pakete aktualisiert werden:

sudo apt update
sudo apt upgrade -y

Dies stellt sicher:

  • Der Paketmanager hat die aktuelle Liste verfügbarer Pakete
  • Alle vorhandenen Pakete werden mit Sicherheitspatches und Bugfixes aktualisiert
  • Das System ist bereit für die Installation neuer Software

Schritt 3 - Docker installieren

Die einfachste Möglichkeit zur Installation von Node-RED ist die Verwendung von Docker, um die Anwendung in Containern auszuführen. Docker wird mit den folgenden Befehlen installiert, wie in der offiziellen Dokumentation erläutert:

# Den offiziellen GPG-Schlüssel von Docker hinzufügen:
sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Das Docker-Repository zu den Paketquellen hinzufügen:
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/debian
Suites: $(. /etc/os-release && echo "$VERSION_CODENAME")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF

# Docker und verwandte Tools installieren:
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

Docker-Installation überprüfen

Nach der Installation wird überprüft, ob Docker korrekt läuft:

sudo systemctl status docker

Die Ausgabe sollte Active: active (running) zeigen. Hier ist ein Beispiel einer erfolgreichen Installation:

Erwartete Ausgabe
holu@example-server:~$ sudo systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: enabled)
     Active: active (running) since Mon 2026-06-16 09:53:17 UTC; 16s ago
 Invocation: 0d4362e8d4fe443b82ab32bb44d415ca
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 5592 (dockerd)
      Tasks: 10
     Memory: 28.5M (peak: 30.6M)
        CPU: 312ms
     CGroup: /system.slice/docker.service
             └─5592 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Jun 16 09:53:16 example-server dockerd[5592]: time="2026-06-16T09:53:16.841295340Z" level=info msg="Deleting nftabl>
Jun 16 09:53:17 example-server dockerd[5592]: time="2026-06-16T09:53:17.264163432Z" level=info msg="Daemon has comp>
Jun 16 09:53:17 example-server systemd[1]: Started docker.service - Docker Application Container Engine.

Falls Docker nicht läuft, kann es mit folgendem Befehl gestartet werden:

sudo systemctl start docker

Füge deinen Benutzer der docker-Gruppe hinzu:

sudo usermod -aG docker holu

Beende die Verbindung zum Server und verbinde dich anschließend neu, um die Gruppen des Benutzers zu aktualisieren.

Schritt 4 - Node-RED in Docker starten

Mit installiertem Docker wird Node-RED in einem Docker-Container mit folgendem Befehl gestartet:

docker run -it -p 1880:1880 -v node_red_data:/data --name mynodered nodered/node-red

Erklärung der Befehle

Jeder Parameter in dem Befehl hat einen bestimmten Zweck:

Parameter Zweck
docker run Einen neuen Container erstellen und ausführen
-it Interaktiv mit einer Terminalsitzung ausführen, um Protokolle zu sehen
-p 1880:1880 Port 1880 vom Container auf den Host-Computer mappen
-v node_red_data:/data Ein persistentes Volume für Flows und Einstellungen erstellen
--name mynodered Dem Container einen aussagekräftigen Namen geben
nodered/node-red Das zu verwendende Docker-Image

Wichtig: Port 1880 sollte nicht öffentlich erreichbar sein, solange keine Authentifizierung aktiviert und der Zugriff eingeschränkt ist (z. B. per Firewall-Allowlist, VPN oder Reverse Proxy mit TLS und Auth).

Erwartete Ausgabe

Nach dem Ausführen des Befehls sollte eine Ausgabe ähnlich dieser erscheinen:

  Welcome to Node-RED
    ===================

    10 Oct 12:57:10 - [info] Node-RED version: <version>
    10 Oct 12:57:10 - [info] Node.js  version: <version>
    10 Oct 12:57:10 - [info] Linux <kernel> <arch>
    10 Oct 12:57:11 - [info] Loading palette nodes
    10 Oct 12:57:16 - [info] Settings file  : /data/settings.js
    10 Oct 12:57:16 - [info] Context store  : 'default' [module=memory]
    10 Oct 12:57:16 - [info] User directory : /data
    10 Oct 12:57:16 - [warn] Projects disabled : editorTheme.projects.enabled=false
    10 Oct 12:57:16 - [info] Flows file     : /data/flows.json
    10 Oct 12:57:16 - [info] Creating new flow file

    Your flow credentials file is encrypted using a system-generated key.

    10 Oct 12:57:17 - [info] Starting flows
    10 Oct 12:57:17 - [info] Started flows
    10 Oct 12:57:17 - [info] Server now running at http://127.0.0.1:1880/

Sobald Server now running at http://127.0.0.1:1880/ zu sehen ist, ist Node-RED bereit!

Container verwalten

Zugriff auf die Node-RED Web-Oberfläche: Der Browser wird zu http://{server-ip}:1880/ navigiert

Vom Container trennen (läuft im Hintergrund weiter): Ctrl + P, dann Ctrl + Q drücken

Erneut verbinden, um Protokolle anzuzeigen:

docker attach mynodered

Container stoppen:

docker stop mynodered

Container erneut starten:

docker start mynodered

Hinweis: Dieses Setup bietet grundlegende Node-RED-Funktionalität. Für erweiterte Funktionen wie Docker Compose-Orchestrierung oder benutzerdefinierte Docker-Images siehe die offizielle Node-RED Docker-Dokumentation.

Schritt 5 - Schnelleinstieg mit Node-RED

Nach dem Anmelden in der Node-RED Web-Oberfläche kann mit der Erstellung des ersten einfachen Flows begonnen werden. Dies hilft, zu verstehen, wie Knoten funktionieren und wie Daten durch das System fließen.

Zunächst wird der "inject"-Knoten aus der Palette auf der linken Seite in den Arbeitsbereich gezogen. Der inject-Knoten wird verwendet, um einen Flow manuell auszulösen oder Testnachrichten zu senden, was für Lernen und Tests wertvoll ist. Node-RED Schnelleinstieg

Danach wird auch der "debug"-Knoten aus der Palette in den Arbeitsbereich gezogen. Der debug-Knoten wird verwendet, um Meldungen in der Debug-Seitenleiste anzuzeigen, damit die Daten, die durch einen Flow fließen, sichtbar werden. Node-RED Schnelleinstieg

Nun werden der Output des inject-Knotens und der Input des debug-Knotens verbunden, indem eine Linie zwischen ihnen gezogen wird. Dies erstellt einen einfachen Flow, bei dem ein manueller Trigger eine Nachricht direkt zur Debug-Ausgabe sendet. Node-RED Schnelleinstieg

Abschließend wird auf die Schaltfläche "Deploy" in der oberen rechten Ecke geklickt, um den Flow zu aktivieren. Nach erfolgreichem Deployment wird auf die Schaltfläche des inject-Knotens geklickt, um den Flow auszulösen. Es sollte nun eine Meldung im Debug-Panel auf der rechten Seite des Bildschirms erscheinen, die bestätigt, dass der Flow funktioniert. Node-RED Schnelleinstieg

Dies ist ein sehr einfaches Beispiel, wie Node-RED verwendet werden kann. Weitere Informationen finden sich in der offiziellen Dokumentation.

Ergebnis

In diesem Tutorial wurde beschrieben, wie Node-RED auf einem Debian-Server mit Docker installiert wird. Es wurde auch gezeigt, wie ein einfacher Flow erstellt wird, um die Grundlagen von Knoten und Datenfluss zu verstehen. Node-RED ist ein leistungsstarkes Werkzeug zum Erstellen von Anwendungen, die Daten erfassen, umwandeln und visualisieren. Es kann in vielen verschiedenen Szenarien eingesetzt werden, von der Home-Automation bis zu industriellen Steuerungssystemen.

Bei Fragen oder Feedback können die Hetzner Community kontaktiert oder ein Issue im GitHub-Repository geöffnet werden.

License: MIT
Want to contribute?

Get Rewarded: Get up to €50 in credit! Be a part of the community and contribute. Do it for the money. Do it for the bragging rights. And do it to teach others!

Report Issue
Try Hetzner Cloud

Get €20/$20 free credit!

Valid until: 31 December 2026 Valid for: 3 months and only for new customers
Get started
Want to contribute?

Get Rewarded: Get up to €50 credit on your account for every tutorial you write and we publish!

Find out more