15%

15% auf alle Hosting-Dienste sparen

Teste deine Fähigkeiten und erhalte Rabatt auf jeden Hosting-Plan

Benutze den Code:

Skills
Anfangen
03.04.2026

N8N Automatisierung Tutorial für Ubuntu – Von Null zum Flow

Schlüsselwörter

BegriffKurze Definition
🚀 N8NEine visuelle, node-basierte Workflow-Automatisierungsplattform zur Verbindung verschiedener externer Dienste.
🐳 DockerEin Containerisierungstool, das eine konsistente, isolierte Bereitstellung und Verwaltung von Anwendungen ermöglicht.
🐘 PostgreSQLEine robuste relationale Datenbank, die als primärer, persistenter Datenspeicher für N8N dient.
🧩 NodeEin einzelner funktionaler Block innerhalb von N8N (z. B. ein Daten-Trigger oder eine API-Aktion), der eine spezifische Aufgabe ausführt.
🔄 WorkflowEin konfiguriertes automatisiertes Verfahren, das durch Verknüpfung mehrerer Nodes erstellt wird, um Aufgabenfolgen zu bearbeiten.
💾 Docker VolumeEin bestimmter Speichermechanismus in Docker, der verwendet wird, um Systemdaten außerhalb von Containern persistent zu speichern.
🔐 UmgebungsvariableSichere Konfigurationswerte (in einer .env-Datei gespeichert), die sicher in Docker-Container injiziert werden.

Warum Automatisierung wichtig ist

Automatisierung

Moderne Teams „betreiben nicht nur eine App“ – sie arbeiten mit einer Kette von SaaS-Tools, internen Diensten, Datenspeichern und Chat-/Benachrichtigungssystemen. Die Kosten dieser Komplexität zeigen sich auf vorhersehbare Weise:

  • Manuelle Übergaben und wiederholte Routinearbeiten (Kopieren/Einfügen zwischen Systemen)
  • Langsame Antwortschleifen (Genehmigungen, Ticketweiterleitungen, Vorfallbenachrichtigungen)
  • Inkonsistente Ergebnisse (menschliche Fehler, versäumte Schritte, teilweise Updates)
  • Fragile Integrationen (einmalige Skripte ohne Sichtbarkeit oder Verantwortung)

Automatisierung ist eine der wirkungsvollsten Möglichkeiten, um diese Reibung zu reduzieren. Selbst kleine Workflows – Daten synchronisieren, Payloads validieren, Benachrichtigungen posten, Datensätze aktualisieren – können sich zu bedeutenden Erfolgen summieren: schnellere Durchlaufzeiten, weniger Fehler und konsistentere Abläufe. Wichtig ist, dass „Automatisierung“ nicht nur darum geht, den Aufwand zu reduzieren; es geht auch darum, Prozesse beobachtbar und wiederholbar zu machen.

Dieser Bericht betrachtet Automatisierung wie Produktionsinfrastruktur: implementiere sie sauber, kontrolliere die Konfiguration, halte Daten persistent und überprüfe das Verhalten mit einem deterministischen Testworkflow.

Was ist N8N (und warum es dein bester Freund werden kann)

N8N

N8N ist eine Workflow-Automatisierungsplattform, die es dir ermöglicht, Dienste mithilfe eines node-basierten Editors zu verbinden. Du erstellst Workflows aus „Nodes“ (Trigger, Datenumwandlungen, API-Aufrufen, 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 haben.
  • Erweiterbare Integrationen: viele integrierte Nodes sowie generische HTTP-Nodes für alles mit einer API.
  • Operational freundlich: läuft gut in Containern, kann Postgres für Persistenz verwenden und unterstützt umgebungsgetriebene Konfiguration.
  • Gut für schrittweise Einführung: beginne mit einfachen Workflows und härte dann den Zugang (Reverse Proxy + HTTPS) und betriebliche Praktiken, während die Nutzung wächst.

In dieser Bewertung wird N8N wie ein Dienst behandelt, den du tatsächlich betreiben könntest: die Bereitstellungsentscheidungen und Konfigurationen sind dokumentiert mit einem Fokus auf Klarheit, Reproduzierbarkeit und „Zukunftshärtung“ (ohne die anfängliche Einrichtung zu über-engineeren).

Hoste deine eigene N8N-Instanz

Bereit zum Ausprobieren? Die Einrichtung erfordert einige technische Schritte, aber keine Sorge – folge diesem Leitfaden und du wirst deine erste N8N-Instanz im Handumdrehen zum Laufen bringen.

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.

Stelle zunächst sicher, dass Docker und Docker Compose auf deinem System installiert sind.

# Check for docker docker -v # Check for docker compose docker compose

Wenn das eine Version zurückgibt, bist du bereit.

Wenn du es nicht installiert hast, folge einfach dieser Seite für Anweisungen: Installationsanleitung. Stelle sicher, dass du das richtige Betriebssystem auswählst, das du verwendest.

Projektstruktur

Die ordnungsgemäße Organisation von Dateien ist entscheidend für Klarheit und langfristige Wartbarkeit. Üblicherweise werden Docker-Dienste im /opt-Verzeichnis abgelegt. Innerhalb davon wurde ein docker_services-Ordner erstellt, um alle Dienste, 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 standardmäßigen SQLite, da es einen viel robusteren und produktionsbereiten Datenspeicher für Konfigurations- und Ausführungsprotokolle bietet.

Erstelle die Datei mit einem Texteditor wie nano:

nano compose.yaml

Füge 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

Verstehen der Konfiguration:

KomponenteBeschreibung
DiensteFührt zwei Container aus: n8n (die Hauptanwendung) und postgres:15. Die Verwendung von Postgres wird stark gegenüber dem standardmäßigen SQLite bevorzugt. n8n ist nativ darauf angewiesen, zuerst zu starten.
Neustart-RichtlinieVerwendet restart: always, sodass die Container beim Systemstart oder bei einem Absturz automatisch neu gestartet werden.
PortsExponiert Port 5678, sodass du auf die N8N-Weboberfläche zugreifen kannst.
UmgebungBeide Dienste laden Konfigurationen aus einer gemeinsamen .env-Datei, um Variablen wie DB-Anmeldeinformationen sicher zu behandeln.
VolumesBindet lokale Hostverzeichnisse an Containerpfade, um Daten persistent zu halten:
./data → N8N-Konfigurationen (/home/node/.n8n)
./files → Dateispeicher (/files)
./postgres-data → Datenbank (/var/lib/postgresql/data)

Bevor du die Container startest, musst du die erforderlichen Verzeichnisse ausdrücklich erstellen, damit sie bereit sind, gemappt zu werden:

# Use your own path if different cd /opt/docker_services/n8n mkdir data files postgres-data

Verzeichnisbesitz und Berechtigungen

Standardmäßig weist Docker beim automatischen Erstellen von Hostverzeichnissen für deine Volumes (wie unseren data– und files-Ordner) dem root-Benutzer den Besitz zu. Aus Sicherheitsgründen gibt der N8N-Container jedoch absichtlich Privilegien auf und läuft als Nicht-Root-Benutzer (insbesondere UID 1000).

Wenn diese Ordner im Besitz von root bleiben, kann N8N seine Konfigurations- oder Datenbankdateien nicht speichern, was dazu führt, dass der Container beim Start mit einem ‘Zugriff verweigert’-Fehler abstürzt. Um diese Reibung zu vermeiden, gewähren wir ausdrücklich den Besitz dieser Verzeichnisse dem richtigen Benutzer, bevor wir den Dienst 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 hart zu codieren.

Erstelle die Datei im selben Verzeichnis:

nano .env

Füge die folgende Konfiguration ein (stelle sicher, dass du example.com und das Datenbankpasswort durch deine eigenen sicheren Werte ersetzt):

# 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

Verstehen der Umgebungsvariablen:

VariableBeschreibung
Domain & HostDefiniert DOMAIN_NAME, SUBDOMAIN und N8N_HOST. Diese sind entscheidend, um die N8N-Anwendung einer bestimmten URL (wie n8n.example.com) zuzuordnen, die externen Zugriff über DNS ermöglicht.
ZeitzoneGENERIC_TIMEZONE legt die Zeitzone speziell für den Node.js-Anwendungsprozess fest, sodass Zeitpläne und Protokollzeitstempel für deine Region genau sind.
Protokolle & WebhookN8N_PROTOCOL und WEBHOOK_URL konfigurieren, wie N8N mit der Außenwelt interagiert. Dies ist entscheidend, wenn du Dienste integrierst, die eine Rückruf-URL erfordern.
Sichere CookieN8N_SECURE_COOKIE ist auf false gesetzt, da wir standardmäßig ohne einen HTTPS-Reverse-Proxy lokal arbeiten. Wenn du später SSL/HTTPS über einen externen Proxy konfigurierst, kannst du diese Zeile löschen, damit sie standardmäßig auf true gesetzt wird.
Node-UmgebungNODE_ENV muss strikt auf production gesetzt werden. Dies optimiert den zugrunde liegenden Node.js-Server für Leistung anstelle von Debugging, unabhängig von den tatsächlichen Bereitstellungsphasen.
Datenbank-AnmeldeinformationenPOSTGRES_DB, USER und PASSWORD werden beim ersten Start verwendet, um die PostgreSQL-Datenbank zu erstellen und nachfolgende Verbindungen zu authentifizieren. Verwende hier immer starke, benutzerdefinierte Passwörter.

Speichere und schließe die Datei. Du hast jetzt alle notwendigen Konfigurationen eingerichtet, um deinen Docker Compose-Stack auszuführen.

Docker-Dienste starten

Wechsle in dein Projektverzeichnis und bringe alle Dienste im Hintergrund hoch.

# Use your own path if different cd /opt/docker_services/n8n docker compose up -d

Docker lädt die erforderlichen Images und startet deine Container. Sobald sie laufen, ist N8N auf Port 5678 (Standard) oder unter deiner konfigurierten Domain verfügbar, wenn du einen Reverse-Proxy verwendest.

Um zu bestätigen, dass es ordnungsgemäß funktioniert, überprüfe, ob die N8N– und Postgres-Container aufgelistet und aktiv sind.

docker ps

Arbeiten mit N8N

Sobald die Dienste erfolgreich laufen, ist es endlich an der Zeit, N8N zu erkunden!

Zugriff auf N8N

N8N kann über einen Webbrowser aufgerufen werden. In dieser lokalen Einrichtung ist es unter folgender URL verfügbar: http://localhost:5678.

Beim ersten Zugriff erscheint eine Anmeldeseite mit gängigen Feldern, die ausgefüllt werden müssen.

Anmeldeseite

Lizenzschlüssel einrichten

Anfangs zeigt N8N ein Fenster an, das einen kostenlosen Lizenzschlüssel anbietet, der kostenpflichtige Funktionen freischaltet. Ja, du hast richtig gehört: kostenpflichtige Funktionen kostenlos! Das ist einer der Vorteile, eine selbst gehostete N8N-Instanz zu betreiben.

Lizenzschlüssel

Sobald du den Lizenzschlüssel in deiner E-Mail erhalten hast, kannst du zu Einstellungen->Nutzung und Plan navigieren, um ihn zu aktivieren.

Lizenzschlüssel aktivieren

Erstellen des ersten Workflows

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

Workflow erstellen

Für den ersten Anwendungsfall werden zwei Nodes verwendet:

  • Manueller Trigger: startet den Workflow manuell.
  • Set Node: definiert und arbeitet mit Feldern und deren Werten.

Der Manueller Trigger-Node erfordert keine Konfiguration, während der Set-Node dies tut. In unserem Fall besteht das Ziel darin, eine Nachricht auszugeben, die besagt, dass „N8N funktioniert“, zusammen mit dem Zeitstempel des Ereignisses. Der Set-Node wird daher wie im Bild unten konfiguriert.

Set Node

Sobald die beiden Nodes verbunden und konfiguriert sind, starten wir den Workflow, indem wir auf die Schaltfläche Workflow ausführen klicken.

Erfolg 1
Erfolg 2

Herzlichen Glückwunsch 👏, dein erster N8N-Workflow wurde erfolgreich ausgeführt!

Was kommt als Nächstes?

Diese erste Einrichtung ist nur der Anfang. Die wahre Kraft von N8N entfaltet sich, wenn du beginnst, deine täglichen Tools zu verbinden, um repetitive Aufgaben zu automatisieren und Reibung zu reduzieren. Zum Beispiel kannst du Workflows erstellen, um automatisch neue Leads von deiner Website in ein CRM zu synchronisieren, dringende Warnungen und kritische Dienstfehler an einen Team-Chat weiterzuleiten oder regelmäßig Daten von verschiedenen SaaS-Plattformen in deine Datenbank zu sichern. Die Möglichkeiten zur Automatisierung deiner Abläufe und zur Vereinfachung deiner täglichen Arbeitslast sind nahezu endlos.

Fazit

Indem du diesen Leitfaden abgeschlossen hast, hast du erfolgreich eine leistungsstarke, selbst gehostete Plattform bereitgestellt, die die Art und Weise, wie du deine täglichen Abläufe verwaltest, transformieren kann. Vielen Dank, dass du diese Einrichtung verfolgt hast! Während du weiterhin erkundest, was N8N tun kann, solltest du dir auch unsere anderen Tutorials ansehen, um noch mehr erstaunliche und nützliche Tools zu entdecken. Wenn du bereit bist, zu skalieren oder in neue, aufregende Projekte einzutauchen, denke daran, dass AlexHost die gesamte robuste Infrastruktur bietet, die du benötigst, um deine Dienste zuverlässig zu hosten.

15%

15% auf alle Hosting-Dienste sparen

Teste deine Fähigkeiten und erhalte Rabatt auf jeden Hosting-Plan

Benutze den Code:

Skills
Anfangen