Umgebungsvariablen
Diese Seite dokumentiert alle verfuegbaren Umgebungsvariablen fuer LowCode. Die Variablen sind nach Funktionsbereichen gruppiert.
Core
Grundlegende Einstellungen fuer den Betrieb der LowCode-Instanz.
| Variable | Beschreibung | Standard |
|---|---|---|
PORT | Port, auf dem LowCode erreichbar ist (Alternative zu NODERED_PORT) | 1880 |
NODERED_PORT | Port, auf dem LowCode erreichbar ist | 1880 |
NODERED_NAME | Name der LowCode-Instanz. Wird im Editor-Header als “LowCode (Name)” angezeigt. | - |
NODERED_BASE_URL | Basis-URL, unter der die LowCode-Instanz erreichbar ist. Wird fuer Redirects und Authority-Callbacks verwendet. Ein abschliessender Slash wird automatisch entfernt. | http://localhost:1880 |
NODERED_USERDIR | Benutzerverzeichnis fuer Flow-Dateien, Credentials und Konfiguration | /data/ |
Wenn sowohl PORT als auch NODERED_PORT gesetzt sind, hat PORT Vorrang. In der Praxis wird empfohlen, NODERED_PORT zu verwenden.
Authentifizierung (Editor)
Konfiguration der OpenID-Connect-basierten Authentifizierung fuer den Node-RED Editor und die Admin-API.
| Variable | Beschreibung | Standard |
|---|---|---|
NODERED_AUTH_DISABLED | Deaktiviert die gesamte Authentifizierung, wenn auf true gesetzt. Nur fuer Entwicklungsumgebungen empfohlen. | false |
NODERED_AUTHORITY_URL | URL des Authority-Servers (OpenID-Connect-Provider). Ein abschliessender Slash wird automatisch entfernt. | - |
NODERED_CLIENT_ID | Client-ID fuer die Autorisierung des Editors | - |
NODERED_CLIENT_SECRET | Client-Secret fuer die Autorisierung des Editors | - |
NODERED_AUTH_ADDITIONAL_SCOPES | Zusaetzliche Scopes fuer die Editor-Authentifizierung (Leerzeichen-getrennt). Die Scopes openid profile email werden automatisch hinzugefuegt. | - |
NODERED_AUTH_SKIP_URLS | Kommaseparierte Liste von URLs, die von der Autorisierung ausgenommen werden. Es reicht, den Anfang der URL anzugeben. | - |
Sobald NODERED_AUTHORITY_URL, NODERED_CLIENT_ID und NODERED_CLIENT_SECRET gesetzt sind, wird der Zugriff auf den Editor, die Admin-API und alle http in-Nodes (ausser mit Prefix /public_api/) automatisch geschuetzt.
Beispiel
NODERED_AUTHORITY_URL=http://authority:11560
NODERED_CLIENT_ID=NodeRedEditorClient
NODERED_CLIENT_SECRET=NodeRedEditorSecret
NODERED_AUTH_ADDITIONAL_SCOPES=noderedAuthentifizierung (Dashboard)
Konfiguration der separaten Authentifizierung fuer das Dashboard-2-Frontend.
| Variable | Beschreibung | Standard |
|---|---|---|
NODERED_DASHBOARD_CLIENT_ID | Client-ID fuer die Autorisierung des Dashboards | - |
NODERED_DASHBOARD_CLIENT_SECRET | Client-Secret fuer die Autorisierung des Dashboards | - |
NODERED_DASHBOARD_AUTH_ADDITIONAL_SCOPES | Zusaetzliche Scopes fuer die Dashboard-Authentifizierung (Leerzeichen-getrennt). Die Scopes openid profile email werden automatisch hinzugefuegt. | - |
NODERED_DASHBOARD_REQUIRED_CLAIM | Optionaler Claim, der fuer den Dashboard-Zugriff erforderlich ist. Wenn nicht gesetzt, haben alle authentifizierten Benutzer Zugriff. | - |
NODERED_DASHBOARD_DISABLE_SHOW_NOTIFICATION | Deaktiviert Benachrichtigungen im Dashboard, wenn auf true gesetzt | false |
Das Dashboard wird unter /dashboard geschuetzt, sobald die Dashboard-Client-Variablen zusammen mit NODERED_AUTHORITY_URL gesetzt sind.
Beispiel
NODERED_DASHBOARD_CLIENT_ID=NodeRedDashboardClient
NODERED_DASHBOARD_CLIENT_SECRET=NodeRedDashboardSecret
NODERED_DASHBOARD_AUTH_ADDITIONAL_SCOPES="lanes engine_read engine_write"
NODERED_DASHBOARD_REQUIRED_CLAIM=dashboard_accessEngine-Anbindung
Konfiguration der Verbindung zur Engine.
| Variable | Beschreibung | Standard |
|---|---|---|
ENGINE_URL | URL der Engine. Wird von Engine-Nodes (External Task, Signal, Message usw.) verwendet. | - |
Beispiel
ENGINE_URL=http://engine:8000Storage
Steuerung des Speicherverhaltens fuer Flows und Konfigurationen.
| Variable | Beschreibung | Standard |
|---|---|---|
NODERED_FLOW_STORAGE_OUTPUT_FORMAT | Ausgabeformat der Flow-Dateien. json oder yaml. YAML wird fuer bessere Git-Diffs empfohlen. | json |
NODERED_FLOW_STORAGE_SAVE_BY_NODE | Wenn true, wird pro Node eine separate Datei gespeichert. Wenn false, wird eine Datei pro Tab erstellt. false wird fuer bessere Code-Reviews empfohlen. | true |
DISABLE_STORAGE_EXTENSION | Deaktiviert die ProcessCube® Storage Extension komplett, wenn auf true gesetzt. Es wird dann das Standard-Node-RED-Storage verwendet. | false |
ENABLE_FLOW_MANAGER | Veraltet. Aktiviert den Flow-Manager anstelle der Storage Extension. Wird in einer zukuenftigen Version entfernt. | false |
Empfohlene Konfiguration fuer Teams
environment:
NODERED_FLOW_STORAGE_OUTPUT_FORMAT: yaml
NODERED_FLOW_STORAGE_SAVE_BY_NODE: falseDiese Kombination erzeugt lesbare YAML-Dateien mit einer Datei pro Tab, was paralleles Arbeiten im Team und Code-Reviews erheblich erleichtert.
Sicherheit
| Variable | Beschreibung | Standard |
|---|---|---|
NODERED_CREDENTIAL_SECRET | Schluessel zur Verschluesselung von Credentials in Node-RED. Muss in Produktionsumgebungen unbedingt gesetzt werden. Aendern Sie diesen Wert nach der Ersteinrichtung nicht mehr, da vorhandene Credentials sonst nicht mehr entschluesselt werden koennen. | no-secret |
Beispiel
NODERED_CREDENTIAL_SECRET=mein-sicherer-zufalls-schluessel-2024Editor & Darstellung
Konfiguration des Editor-Erscheinungsbilds und -Verhaltens.
| Variable | Beschreibung | Standard |
|---|---|---|
NODERED_THEME | Editor-Theme. Standardmaessig wird das ProcessCube®-Theme verwendet. Kann auf ein beliebiges installiertes Theme gesetzt werden. | processcube |
NODERED_CUSTOM_SETTINGS | Absoluter Pfad zu einer zusaetzlichen Konfigurationsdatei. Die Datei wird per lodash.merge in die bestehende Konfiguration integriert und kann beliebige settings.js-Optionen ueberschreiben. | - |
NODERED_HTTP_STATIC | Verzeichnis fuer statische Dateien (z.B. Bilder, PWA-Assets). Wird als Express-Static-Verzeichnis eingebunden. Falls nicht gesetzt, wird automatisch das Verzeichnis static/ im userDir verwendet, sofern es existiert. | - |
NODERED_NODES_DIR | Zusaetzliches Verzeichnis, in dem nach lokalen Node-Dateien gesucht wird | /usr/src/node-red |
NODERED_DIRECT_TASK_EDIT | Wenn auf true gesetzt, ermoeglicht das direkte Bearbeiten von UserTasks im Portal-Dashboard | false |
Beispiel
NODERED_THEME=processcube
NODERED_CUSTOM_SETTINGS=/etc/processcube/nodered/custom_settings.js
NODERED_HTTP_STATIC=/data/staticRuntime
Laufzeitverhalten und Monitoring-Optionen.
| Variable | Beschreibung | Standard |
|---|---|---|
NODERED_EXIT_ON_ERROR | Wenn gesetzt, beendet sich der Prozess bei unbehandelten Exceptions oder Rejections mit Exit-Code 1. Ohne diese Variable werden Fehler nur geloggt. | - |
NODERED_ETW_HEARTBEAT_LOGGING | Aktiviert das Logging von External-Task-Worker-Heartbeats, wenn auf true gesetzt. Hilfreich fuer die Fehlersuche bei ETW-Problemen. | false |
Beispiel
# Empfohlen fuer Kubernetes (damit der Pod neu gestartet wird)
NODERED_EXIT_ON_ERROR=trueVollstaendiges Konfigurationsbeispiel
Eine umfassende Docker-Compose-Konfiguration fuer eine Produktionsumgebung:
services:
lowcode:
image: marketplace.processcube.io/processcube-io/processcube_lowcode:latest
ports:
- "1880:1880"
environment:
# Core
NODERED_PORT: 1880
NODERED_NAME: "Produktion"
NODERED_BASE_URL: "https://lowcode.meine-firma.de"
# Engine
ENGINE_URL: "http://engine:8000"
# Editor-Authentifizierung
NODERED_AUTHORITY_URL: "http://authority:11560"
NODERED_CLIENT_ID: "NodeRedEditorClient"
NODERED_CLIENT_SECRET: "NodeRedEditorSecret"
NODERED_AUTH_ADDITIONAL_SCOPES: "nodered"
# Dashboard-Authentifizierung
NODERED_DASHBOARD_CLIENT_ID: "NodeRedDashboardClient"
NODERED_DASHBOARD_CLIENT_SECRET: "NodeRedDashboardSecret"
NODERED_DASHBOARD_AUTH_ADDITIONAL_SCOPES: "lanes engine_read engine_write"
# Sicherheit
NODERED_CREDENTIAL_SECRET: "mein-sicherer-schluessel"
# Storage (empfohlen fuer Teams)
NODERED_FLOW_STORAGE_OUTPUT_FORMAT: yaml
NODERED_FLOW_STORAGE_SAVE_BY_NODE: false
# Runtime
NODERED_EXIT_ON_ERROR: true
volumes:
- lowcode-data:/data
volumes:
lowcode-data:Weiterführende Dokumentation
- Konfiguration (Uebersicht) — Ueberblick ueber alle Konfigurationsansaetze
- settings.js Referenz — Erweiterte Konfiguration ueber die settings.js-Datei