Hi zusammen,
Ich betreibe selbstgehostetes n8n v2.19.5 auf einem VPS mit Docker Compose. Ich versuche, einen produktionsreifen Lead-Gen-Workflow zu erstellen und bin auf etwas Verwirrendes bezüglich Umgebungsvariablen in Node-Parametern gestoßen.
Problem
Wenn ich versuche, eine Umgebungsvariable im Airtable-Node (Base → By ID) zu referenzieren, wie hier:
Code
{{$env.AIRTABLE_BASE_ID}}
…bekomme ich diese Fehlermeldung direkt in der UI:
Code
[ERROR: access to env vars denied]
Wenn ich die Expression-Klammern entferne und nur Klartext eingebe, verschwindet der Fehler.
Wenn ich die Base ID hardcodiere, gibt es keinen Fehler.
Wenn ich $env.AIRTABLE_BASE_ID in einem Function-Node verwende, funktioniert es einwandfrei.
Es scheint also, dass Umgebungsvariablen zur Laufzeit verfügbar sind, aber in UI-Expressions blockiert werden.
Kontext
-
Selbstgehostetes n8n 2.19.5
-
Docker Compose Deployment
-
Umgebungsvariablen in
docker-compose.ymldefiniert -
Airtable Personal Access Token Authentifizierung funktioniert
-
“From List” Dropdown wirft 403 (erwartet aufgrund von Airtable-Bereichen)
-
Der einzige Blocker ist Umgebungsvariablen-Zugriff in Node-Parametern
Fragen
-
Ist dies erwartetes Verhalten für die kostenlose selbstgehostete Version von n8n 2.x?
-
Werden Umgebungsvariablen absichtlich in UI-Expressions blockiert, es sei denn, es wird n8n Pro verwendet?
-
Welche ist die empfohlene Lösung für selbstgehostete Nutzer, die wiederverwendbare Workflows möchten (z. B. Base ID in Authentifizierungen speichern)?
-
Gibt es eine offizielle Dokumentation, die diese Einschränkung erklärt?
Ziel
Ich möchte wiederverwendbare Workflows ohne hardcodierte Base IDs erstellen, möchte aber verstehen, ob diese Einschränkung beabsichtigt ist oder ob ich etwas falsch konfiguriert habe.
Danke im Voraus an alle, die erklären können, wie Umgebungsvariablen in Node-Parametern auf selbstgehosteter 2.x funktionieren sollen
Informationen zu deinem n8n Setup
- n8n Version: v2.19.5
- Datenbank (Standard: SQLite):
- n8n EXECUTIONS_PROCESS Einstellung (Standard: own, main):
- n8n ausgeführt über (Docker, npm, n8n cloud, Desktop-App): Docker Compose
- Betriebssystem: Ubuntu