Loading...
n8n auf einem Ubuntu-Server selbst hosten

n8n auf einem Ubuntu-Server selbst hosten

Jonas Scholz - Co-Founder von sliplane.ioJonas Scholz
6 min

Willst du Aufgaben automatisieren mit n8n, möchtest aber die volle Kontrolle über deine IT-Infrastruktur behalten? Mit einem selbstgehosteten n8n auf einem Ubuntu-Server reduzierst du Kosten und verwaltest deine Daten selbst!

Diese einfache Schritt-für-Schritt-Anleitung zeigt dir, wie du n8n mithilfe von Docker und dem Caddy-Webserver für automatische HTTPS-Zertifikate installierst.

Bevor wir loslegen, überprüfe, ob du folgendes hast:

  • Einen laufenden Ubuntu Linux-Server. Eine tolle Option ist zum Beispiel Hetzner, aber jeder Ubuntu-Server mit SSH-Zugang und öffentlicher IP-Adresse funktioniert.
  • Grundlegende Erfahrung mit SSH.

Schritt 1: Deinen Server aktualisieren

Logge dich per SSH auf deinem Server ein und führe die neuesten Updates durch, damit dein System sicher und aktuell ist:

sudo apt-get update
sudo apt-get upgrade -y

Nach diesem Schritt ist dein Server startklar!

Schritt 2: Die UFW Firewall installieren und einrichten

Schütze deinen Server, indem du nur nötige Ports freigibst: SSH (22), HTTP (80), HTTPS (443).

Installiere und aktiviere die Firewall so:

sudo apt install ufw -y
sudo ufw allow 22    # SSH
sudo ufw allow 80    # HTTP
sudo ufw allow 443   # HTTPS
sudo ufw enable

Checke deine aktuelle Firewall-Konfiguration:

sudo ufw status verbose

Achtung: Docker ignoriert manchmal UFW-Einstellungen. Schau zur Sicherheit auch hier vorbei.

Schritt 3: Docker installieren

Docker brauchen wir, um n8n laufen zu lassen. Also los geht’s, Docker einrichten:

Erst die Dependencies und den GPG-Schlüssel von Docker installieren:

sudo apt-get update
sudo apt-get install ca-certificates curl gnupg

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
| sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

Nun das Docker-Repository hinzufügen:

echo \
  "deb [arch=$(dpkg --print-architecture) \
signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo $VERSION_CODENAME) stable" \
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update

Docker Engine und compose-plugin installieren:

sudo apt-get install docker-ce docker-ce-cli \
containerd.io docker-buildx-plugin docker-compose-plugin -y

Prüfe, ob Docker läuft:

sudo docker run hello-world

Siehst du die "hello-world" Nachricht? Klasse, Docker ist startklar!

Schritt 4: Caddy installieren für automatische HTTPS-Zertifikate

Caddy übernimmt die Herausforderung von SSL-Zertifikaten automatisch (dank Let's Encrypt).

Installiere Caddy:

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl

curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' \
| sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg

curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' \
| sudo tee /etc/apt/sources.list.d/caddy-stable.list

sudo apt update
sudo apt install caddy -y

Nun bearbeitest du die Caddyfile-Konfiguration:

sudo nano /etc/caddy/Caddyfile

Gib deine Domain ein. Ersetze "yourdomain.com" mit deiner echten Domain:

yourdomain.com {
    reverse_proxy localhost:5678
}

Noch keine Domain? Nutze vorübergehend das hier:

:80 {
    reverse_proxy localhost:5678
}

Starte Caddy neu, um alles zu laden:

sudo systemctl restart caddy

Schritt 5: n8n mit Docker Compose starten

Docker Compose macht dein Leben einfacher. Erstelle das Verzeichnis und die Datei dafür:

mkdir ~/n8n
cd ~/n8n

Erstelle die Datei docker-compose.yml mit folgendem Inhalt:

services:
  n8n:
    image: docker.n8n.io/n8nio/n8n:latest
    restart: always
    ports:
      - "5678:5678"
    volumes:
      - n8n_data:/home/node/.n8n

volumes:
  n8n_data:

Nun startest du n8n, indem du Docker Compose ausführst:

sudo docker compose up -d

Docker lädt automatisch das Image und startet es im Hintergrund auf Port 5678.

Schritt 6: Deine n8n-Instanz verwenden

Rufe deine Domain im Webbrowser auf, die n8n-Oberfläche erscheint jetzt unter https://yourdomain.com. Folge den Schritten auf dem Bildschirm zur Einrichtung.

n8n dashboard

Sicherheitstipps

Öffentliche Server sollten immer sicher sein. Hier ein paar Tipps:

  • Installiere regelmäßig Updates und Sicherheitspatches.
  • Setze starke Passwörter und schränke Nutzerzugriffe ein.
  • Überwache Serverlogs auf ungewöhnliche Aktivitäten hin.
  • Erwäge Sicherheitssoftware wie Fail2ban zu nutzen.

Deine n8n-Installation updaten

Updates machst du ganz einfach per Docker Compose:

sudo docker compose pull
sudo docker compose up -d

Docker lädt automatisch die neuesten Container-Versionen herunter.

Kostenvergleich mit anderen Anbietern

Selbstgehostete n8n-Lösungen sind günstiger als hosted Varianten:

AnbietervCPURAMDiskMonatliche Kosten
Render.com12 GB40 GB~35$
Fly.io22 GB40 GB~17–20$
Railway22 GB40 GB~15–30$
Sliplane.io22 GB40 GB~9,50€
Hetzner Cloud (selbstgehostet)22 GB40 GB~5–10€ pro Monat

Natürlich gibt's nichts umsonst, jetzt bist du verantwortlich für die Server-Pflege. Dafür hast du aber volle Kontrolle!

Fehlt selbstgehosteten n8n-Versionen irgendwas?

Der Community-Version fehlen einige Features der offiziellen hosted-Variante, aber grundsätzlich bietet sie alles Nötige. Eine detaillierte Übersicht gibt's direkt bei n8n.

Geschafft! Dein eigener n8n-Server läuft jetzt auf Ubuntu. Zeit, deine Workflows zu automatisieren.

Falls dir die Serverwartung und Sicherheit zu viel Aufwand sind, schau dir an, wie du n8n in 45 Sekunden auf sliplane installieren kannst!

Willkommen in der Container-Cloud

Sliplane macht es einfach, Container in der Cloud zu deployen und bei Bedarf zu skalieren. Probier es jetzt aus!