N8N Automation Tutorial für Ubuntu – Von Null bis Flow
Schlüsselbegriffe
| Begriff | Schnelle Definition |
|---|---|
| 🚀 N8N | Eine visuelle, knotenbasierte Workflow-Automatisierungsplattform zum Verbinden verschiedener externer Dienste. |
| 🐳 Docker | Ein Containerisierungstool, das konsistente, isolierte Bereitstellung und Verwaltung von Anwendungen ermöglicht. |
| 🐘 PostgreSQL | Eine robuste relationale Datenbank, die als primärer, persistenter Datenspeicher für N8N dient. |
| 🧩 Node | Ein einzelner funktionaler Block innerhalb von N8N (z. B. ein Datentrigger oder API-Aktion), der eine bestimmte Aufgabe ausführt. |
| 🔄 Workflow | Ein konfigurierter automatisierter Prozess, der durch Verknüpfung mehrerer Knoten erstellt wird, um Aufgabensequenzen zu verarbeiten. |
| 💾 Docker Volume | Ein designierter Speichermechanismus in Docker, der verwendet wird, um Systemdaten außerhalb von Containern persistent zu speichern. |
| 🔐 Environment Variable | Sichere Konfigurationswerte (in einer .env-Datei gespeichert), die sicher in Docker-Container injiziert werden. |
Warum Automatisierung wichtig ist

Moderne Teams führen nicht “eine App” aus — sie betreiben eine Kette von SaaS-Tools, internen Services, Datenspeichern und Chat-/Alerting-Systemen. Die Kosten dieser Komplexität zeigen sich auf vorhersehbare Weise:
- Manuelle Übergaben und wiederholte Routineaufgaben (Kopieren/Einfügen zwischen Systemen)
- Langsame Feedback-Schleifen (Genehmigungen, Ticket-Routing, Incident-Benachrichtigungen)
- Inkonsistente Ergebnisse (menschliche Fehler, übersehene Schritte, teilweise Updates)
- Fragile Integrationen (einmalige Skripte ohne Sichtbarkeit oder Verantwortung)
Automatisierung ist einer der wirkungsvollsten Wege, um diese Reibung zu reduzieren. Selbst kleine Workflows — Datensynchronisierung, Payload-Validierung, Benachrichtigungen, Datensatz-Updates — können sich zu bedeutsamen Gewinnen summieren: schnellere Zykluszeiten, weniger Fehler und konsistentere Operationen. Wichtig ist, dass „Automatisierung” nicht nur um Aufwandsreduktion geht; es geht auch darum, Prozesse beobachtbar und wiederholbar zu machen.
Dieser Bericht behandelt Automatisierung wie Production-Infrastruktur: sauberes Deployment, Konfigurationskontrolle, persistente Daten und Verhaltensverifikation mit einem deterministischen Test-Workflow.
Was ist N8N (und warum es dein bester Freund werden kann)

N8N ist eine Workflow-Automatisierungsplattform, mit der du Dienste über einen knotenbasierten Editor verbinden kannst. Du erstellst Workflows aus „Knoten” (Trigger, Datentransformationen, API-Aufrufe, Datenbankoperationen, Benachrichtigungen) und führst sie dann manuell, nach Zeitplan oder über Webhooks aus.
Was n8n besonders nützlich im Kontext einer Linux-Bereitstellung macht:
- Selbst-hostbar: Du kannst es auf deiner eigenen Infrastruktur ausführen, um die Kontrolle über Daten und Netzwerk zu behalten.
- Erweiterbare Integrationen: viele integrierte Knoten, plus generische HTTP-Knoten für alles mit einer API.
- Betriebsfreundlich: läuft gut in Containern, kann Postgres für Persistenz nutzen und unterstützt umgebungsgesteuerte Konfiguration.
- Gut für schrittweise Einführung: beginne mit einfachen Workflows und verstärke dann den Zugriff (Reverse Proxy + HTTPS) und operative Praktiken, während die Nutzung wächst.
In dieser Bewertung wird n8n wie ein Dienst behandelt, den du tatsächlich ausführen könntest: die Bereitstellungsoptionen und Konfiguration sind mit einer Ausrichtung auf Klarheit, Reproduzierbarkeit und „zukünftige Härtung” dokumentiert (ohne die anfängliche Einrichtung zu überentwickeln).
Hosten Sie Ihre eigene N8N-Instanz
Bereit zum Ausprobieren? Das Setup erfordert einige technische Schritte, aber machen Sie sich keine Sorgen — folgen Sie dieser Anleitung und Sie haben Ihre erste N8N-Instanz im Handumdrehen zum Laufen gebracht.
Dieses Tutorial verwendet Ubuntu 22.04, das auf einem VPS von AlexHost läuft.
Docker-Einrichtung
Es gibt mehrere Möglichkeiten, n8n einzurichten. Für dieses Tutorial verwenden wir Docker, da es einen klaren und zuverlässigen Ansatz zur Verwaltung und Konfiguration von n8n bietet.
Stellen Sie zunächst sicher, dass Docker und Docker Compose auf Ihrem System installiert sind.
# Check for docker
docker -v
# Check for docker compose
docker compose
Wenn dies eine Version zurückgibt, sind Sie bereit.
Wenn Sie es nicht installiert haben, folgen Sie einfach dieser Seite für Anweisungen: Installationsanleitung. Stellen Sie sicher, dass Sie das richtige Betriebssystem auswählen, das Sie verwenden.
Projektstruktur
Eine ordnungsgemäße Organisation von Dateien ist für Klarheit und langfristige Wartbarkeit unerlässlich. Nach Konvention werden Docker-Services typischerweise im Verzeichnis /opt platziert. Darin wurde ein Ordner docker_services erstellt, um alle Services, einschließlich N8N, zu speichern.
# Create all the needed folders
sudo mkdir -p /opt/docker_services/n8n
# Navigate to n8n folder
cd /opt/docker_services/n8n
Hinzufügen der Docker-Compose-Datei
Um unsere n8n-Instanz und ihre Backend-Datenbank zu starten, verwenden wir eine compose.yaml-Datei. Wir wählen PostgreSQL gegenüber dem Standard-SQLite, da es einen viel robusteren und produktionsreifen Datenspeicher für Konfiguration und Ausführungsprotokolle bietet.
Erstellen Sie die Datei mit einem Texteditor wie nano:
nano compose.yaml
Fügen Sie die folgende Konfiguration in die Datei ein:
services:
n8n:
image: n8nio/n8n:latest
restart: always
ports:
- "5678:5678"
env_file:
- .env
volumes:
- ./data:/home/node/.n8n
- ./files:/files
depends_on:
- postgres
postgres:
image: postgres:15
restart: always
env_file:
- .env
volumes:
- ./postgres-data:/var/lib/postgresql/data
Verständnis der Konfiguration:
| Komponente | Beschreibung |
|---|---|
| Services | Führt zwei Container aus: n8n (die Hauptanwendung) und postgres:15. Die Verwendung von Postgres wird gegenüber dem Standard-SQLite stark bevorzugt. n8n hängt nativ davon ab, dass es zuerst startet. |
| Restart-Richtlinie | Verwendet restart: always, damit die Container beim Systemstart oder bei Abstürzen automatisch neu gestartet werden. |
| Ports | Macht Port 5678 verfügbar, damit Sie auf die n8n-Weboberfläche zugreifen können. |
| Umgebung | Beide Services laden die Konfiguration aus einer gemeinsamen .env-Datei, um Variablen wie DB-Anmeldedaten sicher zu verwalten. |
| Volumes | Bindet lokale Host-Verzeichnisse an Container-Pfade, um Daten persistent zu halten: • ./data → n8n-Konfigurationen (/home/node/.n8n) • ./files → Dateispeicher (/files) • ./postgres-data → Datenbank (/var/lib/postgresql/data) |
Bevor Sie die Container starten, müssen Sie die erforderlichen Verzeichnisse explizit erstellen, damit sie bereit sind, zugeordnet zu werden:
# Use your own path if different
cd /opt/docker_services/n8n
mkdir data files postgres-data
Verzeichniseigentümerschaft und Berechtigungen
Standardmäßig werden Host-Verzeichnisse, die Docker automatisch für Ihre Volumes erstellt (wie unsere Ordner data und files), dem Benutzer root zugewiesen. Aus Sicherheitsgründen gibt der n8n-Container jedoch absichtlich Privilegien ab und läuft als Nicht-Root-Benutzer (speziell UID 1000).
Wenn diese Ordner im Besitz von root bleiben, kann n8n seine Konfiguration oder Datenbankdateien nicht speichern, was dazu führt, dass der Container beim Start mit einem Fehler „Berechtigung verweigert” abstürzt. Um diese Reibung zu vermeiden, gewähren wir diesen Verzeichnissen explizit die Eigentümerschaft des richtigen Benutzers, bevor wir den Service starten.
# Set ownership of the volume directories to UID/GID 1000
sudo chown -R 1000:1000 data files
Hinzufügen der .env-Datei
Docker verwendet die .env-Datei, um Systemkonfigurationen und Geheimnisse in unsere Container zu übergeben, ohne sie in unsere compose.yaml zu hardcodieren.
Erstellen Sie die Datei im selben Verzeichnis:
nano .env
Fügen Sie die folgende Konfiguration ein (stellen Sie sicher, dass Sie example.com und das Datenbankpasswort durch Ihre eigenen sicheren Werte ersetzen):
# n8n Settings
DOMAIN_NAME=example.com
SUBDOMAIN=n8n
GENERIC_TIMEZONE=Europe/Chisinau
N8N_HOST=n8n.example.com
N8N_PROTOCOL=https
WEBHOOK_URL=https://n8n.example.com/
N8N_SECURE_COOKIE=false
NODE_ENV=production
# PostgreSQL
POSTGRES_DB=n8n
POSTGRES_USER=n8n
POSTGRES_PASSWORD=changeme123
Verständnis der Umgebungsvariablen:
| Variable | Beschreibung |
|---|---|
| Domain & Host | Definiert DOMAIN_NAME, SUBDOMAIN und N8N_HOST. Diese sind essentiell für die Zuordnung der n8n-Anwendung zu einer bestimmten URL (wie n8n.example.com), um externen Zugriff über DNS zu ermöglichen. |
| Zeitzone | GENERIC_TIMEZONE setzt die Zeitzone speziell für den Node.js-Anwendungsprozess, damit Planung und Log-Zeitstempel für Ihre Region genau sind. |
| Protokolle & Webhook | N8N_PROTOCOL und WEBHOOK_URL konfigurieren, wie n8n mit der Außenwelt interagiert. Dies ist entscheidend, wenn Sie Services integrieren, die eine Callback-URL erfordern. |
| Sicheres Cookie | N8N_SECURE_COOKIE ist auf false gesetzt, da wir lokal standardmäßig ohne HTTPS-Reverse-Proxy laufen. Wenn Sie später SSL/HTTPS über einen externen Proxy konfigurieren, können Sie diese Zeile löschen, damit sie standardmäßig auf true gesetzt wird. |
| Node-Umgebung | NODE_ENV muss streng auf production gesetzt sein. Dies optimiert den zugrunde liegenden Node.js-Server für Leistung statt Debugging, unabhängig von tatsächlichen Bereitstellungsphasen. |
| Datenbankzugriffsdaten | POSTGRES_DB, USER und PASSWORD werden beim ersten Start verwendet, um die PostgreSQL-Datenbank zu erstellen und nachfolgende Verbindungen zu authentifizieren. Verwenden Sie hier immer starke benutzerdefinierte Passwörter. |
Speichern und schließen Sie die Datei. Sie haben nun alle erforderlichen Konfigurationen zum Ausführen Ihres Docker-Compose-Stacks.
Starten von Docker-Services
Navigieren Sie zu Ihrem Projektverzeichnis und bringen Sie alle Services im Hintergrund zum Laufen.
# Use your own path if different
cd /opt/docker_services/n8n
docker compose up -d
Docker zieht die erforderlichen Images und startet Ihre Container. Nach dem Start ist n8n auf Port 5678 (Standard) oder unter Ihrer konfigurierten Domain verfügbar, wenn Sie einen Reverse Proxy verwenden.
Um zu bestätigen, dass es ordnungsgemäß funktioniert, überprüfen Sie, ob die Container n8n und postgres aufgelistet und ausgeführt werden.
docker ps
Arbeiten mit N8N
Sobald die Services erfolgreich ausgeführt werden, ist es endlich an der Zeit, N8N zu erkunden!
Zugriff auf N8N
N8N kann über einen Webbrowser aufgerufen werden. In diesem lokalen Setup ist es unter der folgenden URL verfügbar: http://localhost:5678.
Beim ersten Zugriff wird eine Anmeldeseite mit allgemeinen Feldern angezeigt.

Einrichten des Lizenzschlüssels
Anfangs zeigt N8N ein Fenster an, das einen kostenlosen Lizenzschlüssel anbietet, der kostenpflichtige Funktionen freischaltet. Ja, Sie haben richtig gehört: kostenpflichtige Funktionen kostenlos! Dies ist einer der Vorteile des Betriebs einer selbstgehosteten N8N-Instanz.

Sobald Sie den Lizenzschlüssel in Ihrer E-Mail erhalten haben, können Sie zu Einstellungen->Nutzung und Plan navigieren, um ihn zu aktivieren.

Erstellen des ersten Workflows
Neue Workflows können direkt von der Hauptseite aus erstellt werden. Siehe das Bild unten.

Für den ersten Anwendungsfall werden zwei Knoten verwendet:
- Manual Trigger: startet den Workflow manuell.
- Set Node: definiert und arbeitet mit Feldern und deren Werten.
Der Manual Trigger-Knoten erfordert keine Konfiguration, der Set-Knoten jedoch. In unserem Fall besteht das Ziel darin, eine Nachricht auszugeben, die „n8n works” zusammen mit dem Zeitstempel des Ereignisses angibt. Der Set-Knoten wird daher wie im Bild unten konfiguriert.

Sobald die beiden Knoten verbunden und konfiguriert sind, starten wir den Workflow, indem wir die Schaltfläche Execute workflow drücken.


Herzlichen Glückwunsch 👏, Ihr erster N8N-Workflow wurde erfolgreich ausgeführt!
Was kommt als Nächstes?
Dieses anfängliche Setup ist erst der Anfang. Die wahre Kraft von N8N entfaltet sich, wenn Sie anfangen, Ihre täglichen Tools zu verbinden, um sich wiederholende Aufgaben zu automatisieren und Reibungsverluste zu reduzieren. Beispielsweise können Sie Workflows erstellen, um neue Leads von Ihrer Website automatisch in ein CRM zu synchronisieren, dringende Warnungen und kritische Servicefehler an einen Team-Chat weiterzuleiten oder regelmäßig Daten von verschiedenen SaaS-Plattformen in Ihre Datenbank zu sichern. Die Möglichkeiten zur Automatisierung Ihrer Abläufe und zur Vereinfachung Ihrer täglichen Arbeit sind nahezu unbegrenzt.
Fazit
Durch die Fertigstellung dieser Anleitung haben Sie erfolgreich eine leistungsstarke, selbst gehostete Plattform bereitgestellt, die die Art und Weise, wie Sie tägliche Operationen verwalten, transformieren kann. Vielen Dank, dass Sie diese Einrichtung befolgt haben! Während Sie weiterhin erkunden, was N8N tun kann, schauen Sie sich unbedingt unsere anderen Tutorials an, um noch mehr erstaunliche und nützliche Tools zu entdecken. Wenn Sie bereit sind zu skalieren oder sich in neue, spannende Projekte zu vertiefen, denken Sie daran, dass AlexHost die gesamte robuste Infrastruktur bietet, die Sie benötigen, um Ihre Dienste zuverlässig zu hosten.
bei allen Hosting-Diensten