n8n auf Debian

🚀 n8n auf Debian mit Docker Compose und Cloudflare Tunnel installieren

In dieser Anleitung zeige ich dir, wie du n8n auf einem bestehenden Debian-Server installierst und über einen Cloudflare Tunnel sicher im Internet verfügbar machst – ohne komplizierte Portfreigaben oder separate SSL-Zertifikate.
Alles läuft in Docker Compose, sodass du nur ein einziges Setup brauchst, das automatisch mit dem System startet.


✅ Voraussetzungen

  • Debian 12 (Bookworm) Server mit SSH-Zugang
  • Docker ist installiert (docker ps sollte laufen)
  • Kostenloser Cloudflare-Account (cloudflare.com)
  • Eigene Domain (z. B. example.com), die bei Cloudflare eingebunden ist

👉 Falls Docker noch nicht installiert ist, hier die Schnellinstallation:

curl -fsSL https://get.docker.com | sh

1. Docker Compose installieren

Debian bringt Compose oft nicht mit. Installiere es über das Docker-Repository:

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

# Docker GPG-Key hinzufügen
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Docker-Repo einrichten
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
  https://download.docker.com/linux/debian $(lsb_release -cs) stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Docker + Compose installieren
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

Testen:

docker compose version

2. Cloudflare Tunnel vorbereiten

a) Cloudflare-Account erstellen

Falls du noch keinen Account hast:

  • Gehe auf cloudflare.com
  • Registriere dich kostenlos
  • Lege deine Domain in Cloudflare an (DNS wird zu Cloudflare umgeleitet)

b) Cloudflared installieren

sudo mkdir -p /usr/local/bin
sudo curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -o /usr/local/bin/cloudflared
sudo chmod +x /usr/local/bin/cloudflared

c) Einloggen

cloudflared tunnel login

👉 Browser öffnet sich → in Cloudflare einloggen → Domain auswählen.

d) Tunnel erstellen

cloudflared tunnel create n8n-tunnel

Cloudflare legt eine JSON-Datei mit den Credentials in ~/.cloudflared/ an.
Die Tunnel-ID notieren (z. B. abcd1234-xxxx-yyyy-zzzz-abcdef123456).


3. Cloudflare Tunnel konfigurieren

Config-Datei anlegen:

nano ~/.cloudflared/config.yml

Inhalt:

tunnel: abcd1234-xxxx-yyyy-zzzz-abcdef123456
credentials-file: /etc/cloudflared/abcd1234-xxxx-yyyy-zzzz-abcdef123456.json

ingress:
  - hostname: n8n.example.com
    service: http://n8n:5678
  - service: http_status:404

👉 n8n.example.com ist die Subdomain, unter der n8n erreichbar sein soll.

DNS-Eintrag setzen

cloudflared tunnel route dns n8n-tunnel n8n.example.com

4. Docker-Compose Setup erstellen

Projektordner anlegen:

mkdir -p ~/n8n-docker
cd ~/n8n-docker

Datei erstellen:

nano docker-compose.yml

Inhalt einfügen:

version: "3.8"

services:
  n8n:
    image: n8nio/n8n
    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_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
      - DB_SQLITE_POOL_SIZE=1
      - N8N_RUNNERS_ENABLED=true
      - N8N_BLOCK_ENV_ACCESS_IN_NODE=false
      - N8N_SECURE_COOKIE=true
    volumes:
      - ./n8n_data:/home/node/.n8n

  cloudflared:
    image: cloudflare/cloudflared:latest
    container_name: cloudflared
    restart: unless-stopped
    command: tunnel run abcd1234-xxxx-yyyy-zzzz-abcdef123456
    volumes:
      - /home/<user>/.cloudflared:/etc/cloudflared

👉 Wichtig:

  • Ersetze die Tunnel-ID mit deiner eigenen.
  • Passe <user> an deinen Server-Benutzernamen an.
  • Setze deine eigene Domain n8n.example.com.

5. Container starten

cd ~/n8n-docker
docker compose up -d

Logs prüfen:

docker compose logs -f cloudflared

👉 Wenn du Meldungen wie Registered tunnel connection siehst → läuft.


6. n8n im Browser öffnen

Gehe auf:

https://n8n.example.com

➡️ Dein n8n ist jetzt öffentlich erreichbar – über HTTPS, abgesichert durch Cloudflare.


✅ Fazit

Mit diesem Setup hast du:

  • n8n in Docker laufen
  • einen sicheren Cloudflare Tunnel ohne Portfreigaben
  • automatisches SSL-Zertifikat über Cloudflare
  • Autostart über Docker Compose

Das Ganze ist leicht zu warten, portabel und sicher.



🔄 Update mit Docker Compose

1. In den Projektordner wechseln

cd ~/n8n-docker

2. Neueste Images laden

docker compose pull

👉 Dadurch wird das aktuellste n8nio/n8n-Image heruntergeladen.

3. Container neu starten

docker compose up -d

👉 n8n läuft jetzt mit der neuen Version.
Deine Daten bleiben erhalten, weil sie in ./n8n_data gespeichert sind (Volume).


✅ Version prüfen

Du kannst die aktuelle Version in den n8n-Einstellungen („About“) sehen oder per Container-Log prüfen:

docker exec -it n8n n8n --version

🔒 Empfehlung vor Updates

  • Backup machen: Sichere den Ordner ./n8n_data. tar -czf n8n_backup_$(date +%F).tar.gz ./n8n_data
  • Changelog ansehen: Auf GitHub Releases checken, ob es Breaking Changes gibt.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Wenn Dir der Beitrag gefallen hat oder Dich inspiriert hat, dann unterstütze doch bitte meinen Blog, indem Du über die Affiliate-Links die Produkte kaufst oder auf YouTube ein Abo für meinen Kanal da lässt. Du kannst auch gerne über den Paypal.me-Link oder über Patreon einen kleinen Betrag spenden, das würde mich sehr freuen. Vielen Dank dafür. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen.

Nach oben scrollen