Tutorials  /  Linux Basics

n8n auf Ubuntu 24.04 installieren: Docker-Setup mit Nginx Reverse Proxy & TLS

Ccentron Redaktion · Juli 2026 ·4 Min. Lesezeit ·Linux Basics, Tutorial

n8n ist eine Open-Source-Automatisierungsplattform, mit der du unterschiedliche Dienste miteinander verknüpfen und wiederkehrende Aufgaben über eine intuitive, node-basierte visuelle Oberfläche automatisieren kannst. Das Tool bietet viele Integrationen und verbindet No-Code- mit Low-Code-Funktionen, um auch komplexe Workflow-Strukturen aufzubauen.

Diese Anleitung führt dich durch die Installation und Konfiguration von n8n auf Ubuntu 24.04 per Docker, das Einrichten von Nginx als Reverse Proxy sowie das Absichern des Zugriffs mit TLS-Zertifikaten.

Voraussetzungen

Bevor du startest, stelle sicher, dass Folgendes vorhanden ist:

  • Zugriff auf einen Ubuntu-24.04-Server über einen Nicht-Root-Benutzer mit sudo-Rechten.
  • Ein eingerichteter DNS-A-Record, der auf die öffentliche IP deines Servers zeigt, zum Beispiel n8n.example.com.
VM

Passende Infrastruktur bei centron

Zum Ausprobieren braucht es keine eigene Hardware: ccloud³ VMs mit vollem Root-Zugriff gibt es ab 3,12 € im Monat, stundengenau abgerechnet und in Sekunden bereit. Cloud Server mieten →

Docker und Docker Compose installieren

Aktualisiere zuerst die Paketlisten deines Systems.

Konsole

Konsole
$ sudo apt update

Installiere anschließend die benötigten Pakete für die Verwaltung des Docker-Repositories.

Konsole
$ sudo apt install apt-transport-https ca-certificates curl software-properties-common -y

Füge den offiziellen GPG-Schlüssel von Docker hinzu.

Konsole
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Registriere das Docker-Repository in deiner Ubuntu-Installation.

Konsole
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Aktualisiere danach erneut den Paketindex.

Konsole
$ sudo apt update

Installiere die Docker Engine, die Docker-CLI sowie das Docker-Compose-Plugin.

Konsole
$ sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y

Füge deinen Benutzer zur docker-Gruppe hinzu, damit du Docker-Befehle ohne sudo ausführen kannst.

Konsole
$ sudo usermod -aG docker $USER

Aktiviere die neue Gruppenmitgliedschaft in der aktuellen Sitzung.

Konsole
$ newgrp docker

Prüfe, ob Docker korrekt läuft.

Konsole
$ docker --version

Verzeichnisstruktur für n8n anlegen

Im nächsten Schritt richtest du eine eigene Ordnerstruktur für die n8n-Konfiguration und dauerhafte Daten ein.

Erstelle das Hauptverzeichnis für n8n.

Konsole
$ mkdir ~/n8n

Wechsle in den neu erstellten Ordner.

Konsole
$ cd ~/n8n

Lege einen Unterordner für persistente n8n-Daten an.

Konsole
$ mkdir n8n-data

Erstelle außerdem einen Ordner für lokale Dateien, die in Workflows genutzt werden sollen.

Konsole
$ mkdir local-files

Da der n8n-Container unter UID 1000 arbeitet, passe die Besitzrechte entsprechend an.

Konsole
$ sudo chown -R 1000:1000 n8n-data local-files

Docker Compose für n8n konfigurieren

Jetzt erstellst du die Docker-Compose-Datei zum Starten von n8n.

Lege die Datei docker-compose.yml an.

Konsole
$ nano docker-compose.yml

Füge folgende Konfiguration ein und ersetze n8n.example.com durch deine Domain.

YAML
services:
  n8n:
    image: n8nio/n8n:latest
    container_name: n8n
    restart: unless-stopped
    ports:
      - "5678:5678"
    environment:
      - N8N_HOST=n8n.example.com
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - WEBHOOK_URL=https://n8n.example.com
      - N8N_EDITOR_BASE_URL=https://n8n.example.com
      - GENERIC_TIMEZONE=UTC
      - N8N_USER_FOLDER=/home/node/.n8n
    volumes:
      - ./n8n-data:/home/node/.n8n
      - ./local-files:/files
    networks:
      - n8n-network

networks:
  n8n-network:
    driver: bridge

Speichere die Datei und schließe den Editor.

Mit dieser Definition startest du einen n8n-Container mit dauerhaftem Speicher, Webhook-Unterstützung und allen relevanten HTTPS-Variablen.

Nginx installieren und einrichten

Nginx fungiert als Reverse Proxy, beendet HTTPS und leitet die Anfragen an den n8n-Container weiter.

Installiere Nginx über den Paketmanager.

Konsole
$ sudo apt install nginx -y

Erstelle einen neuen Server-Block in Nginx und ersetze die Domain durch deine eigene.

Konsole
$ sudo nano /etc/nginx/sites-available/n8n.example.com

Trage danach diese Konfiguration ein und passe den Domainnamen an.

Code
server {
    listen 80;
    server_name n8n.example.com;

    location / {
        proxy_pass http://localhost:5678;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Port $server_port;

        proxy_buffering off;

        proxy_read_timeout 300s;
        proxy_connect_timeout 75s;
    }
}

Diese Einstellungen unterstützen WebSockets und setzen längere Timeouts, was für n8n-Workflows sinnvoll ist.

Aktiviere die Site über einen symbolischen Link.

Konsole
$ sudo ln -s /etc/nginx/sites-available/n8n.example.com /etc/nginx/sites-enabled/

Überprüfe die Nginx-Konfiguration auf Fehler.

Konsole
$ sudo nginx -t

Lade Nginx neu, um die Änderungen zu übernehmen.

Konsole
$ sudo systemctl reload nginx

Firewall-Regeln konfigurieren

Richte nun die Firewall so ein, dass der notwendige Netzwerkverkehr erlaubt wird.

Erlaube vorübergehend HTTP-Traffic (für die Zertifikatsvalidierung erforderlich).

Konsole
$ sudo ufw allow 80/tcp

Aktiviere HTTPS, damit sichere Verbindungen möglich sind.

Konsole
$ sudo ufw allow 443/tcp

Certbot installieren und TLS-Zertifikate anwenden

Certbot übernimmt die Ausstellung und automatische Erneuerung von TLS-Zertifikaten über Let’s Encrypt.

Installiere Certbot sowie das Nginx-Plugin.

Konsole
$ sudo apt install certbot python3-certbot-nginx -y

Fordere ein Zertifikat für deine Domain an und passe Domain sowie E-Mail-Adresse bei Bedarf an.

Konsole
$ sudo certbot --nginx -d n8n.example.com --email admin@example.com --agree-tos --non-interactive

Certbot ergänzt deine Nginx-Konfiguration automatisch um TLS-Einstellungen und richtet die Zertifikatserneuerung ein.

Teste anschließend den Erneuerungsmodus.

Konsole
$ sudo certbot renew --dry-run

Wenn der Testlauf ohne Fehler durchläuft, ist die automatische Verlängerung korrekt eingerichtet.

n8n starten

Hier erfährst du, wie du n8n per Docker Compose startest und prüfst, ob alles funktioniert.

Wechsle in das n8n-Verzeichnis.

Konsole
$ cd ~/n8n

Starte n8n im Hintergrund.

Konsole
$ docker compose up -d

Kontrolliere, ob der Container korrekt läuft.

Konsole
$ docker compose ps

Sieh dir die Logs an, um eine erfolgreiche Initialisierung zu bestätigen.

Konsole
$ docker logs n8n

Beispielausgabe:

...

n8n ready on https://n8n.example.com

n8n aufrufen und konfigurieren

Schließe die Einrichtung ab, indem du ein Admin-Konto anlegst und die ersten Einstellungen vornimmst.

Öffne deinen Browser und rufe folgende Adresse auf:

https://n8n.example.com

Erstelle dein Administrator-Profil, indem du Namen, E-Mail und Passwort eingibst.

Nach dem Login kannst du den n8n-Workflow-Editor nutzen, um Automatisierungen aufzubauen.

Sieh dir vorhandene Vorlagen an oder entwirf deine eigenen Workflow-Agenten.

n8n-Container verwalten

Mit den folgenden Befehlen steuerst du deine laufende n8n-Umgebung.

Logs anzeigen

Beobachte die Logs in Echtzeit.

Konsole
$ docker logs -f n8n

n8n stoppen

Beende den Container sauber.

Konsole
$ docker compose down

n8n neu starten

Starte den n8n-Container erneut.

Konsole
$ docker compose restart

n8n aktualisieren

Wechsle auf die aktuellste n8n-Version.

Konsole
$ docker compose pull
$ docker compose up -d

Fazit

Du hast n8n auf Ubuntu 24.04 mit Docker installiert, einen Nginx-Reverse-Proxy eingerichtet und TLS-Verschlüsselung aktiviert. Damit ist deine n8n-Instanz bereit, Automatisierungen zu erstellen. Durch das Container-Setup werden Updates, Wartung und Skalierung deutlich einfacher, während deine Automatisierungsanforderungen wachsen. Für weitere Informationen kannst du die offizielle n8n-Dokumentation nutzen.

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Linux Basics
Teilen
Noch offene Fragen?

Unser Team hilft Ihnen bei Ihrem konkreten Setup weiter – von Menschen, die die Plattform selbst betreiben.

War dieses Tutorial hilfreich?

Ihre Antwort wird anonym gespeichert und hilft uns, die Tutorials zu verbessern.

Kommentare

Noch keine Kommentare – stellen Sie die erste Frage zu diesem Tutorial.

Zum Kommentieren anmelden

Kommentare stehen centron-Kunden offen. Melden Sie sich in Ihrem Konto an, um eine Frage zu diesem Tutorial zu stellen.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren