Wähle einen Artikel
n8n auf deinem VPS installieren

Methode 1: Installation über das dogado Control Panel (empfohlen)

Diese Methode richtet n8n vollautomatisch ein – kein SSH, kein Docker-Wissen, keine manuelle Konfiguration nötig.

Überblick:

  • Zeitdauer: ca. 5–10 Minuten
  • Schwierigkeit: Einfach
  • Voraussetzung: Ein dogado Cloud Server

1.1 Control Panel öffnen

Nach dem Kauf deines Cloud Servers erhältst du Zugang zum dogado Control Panel. Öffne es und starte den Setup-Flow für deinen neuen Server. In der Übersicht siehst du eine „Complete Setup"-Benachrichtigung.

1.2 n8n als Anwendung auswählen

Im Setup-Flow wählst du unter „Applications" n8n aus. Trage dann folgende Angaben ein:

  • E-Mail-Adresse für den n8n-Admin-Account
  • Passwort für den n8n-Admin-Account
  • Zeitzone

Danach konfigurierst du die Servereinstellungen und bestätigst die Installation.

1.3 Installation abwarten

Die Installation läuft vollautomatisch im Hintergrund. Im Control Panel siehst du den Fortschritt in Echtzeit. Der Vorgang dauert einige Minuten.

Hinweis: Wenn du n8n über den Re-Deployment-Flow auf einem bestehenden Server installierst, werden alle bisherigen Daten auf dem Server gelöscht.

1.4 n8n-Dashboard öffnen

Nach Abschluss der Installation öffnest du das n8n-Dashboard direkt über das Control Panel. Melde dich mit dem Admin-Account an, den du in Schritt 1.2 eingerichtet hast. Danach kannst du sofort loslegen – oder aus über 1.000 fertigen Templates starten.

Methode 2: Manuelle Installation per Docker

Diese Methode richtet sich an Nutzer, die volle Kontrolle über die Server-Konfiguration haben möchten oder n8n neben anderen Diensten auf demselben Server betreiben. Voraussetzung: SSH-Zugang und Traefik Reverse Proxy bereits eingerichtet.

Flexibel, leistungsstark und sofort einsatzbereit – dein dogado vServer

Der dogado vServer/VPS bietet dir volle Kontrolle, hohe Performance und flexible Ressourcen. Ideal für Websites, Shops und Anwendungen – sofort einsatzbereit, sicher gehostet in deutschen Rechenzentren.

Server-Racks mit blauer Beleuchtung, Frontpaneele mit Laufwerkschächten, Lüftungsgitter und Netzwerkausrüstung.

n8n installieren

1.1 Einleitung

In der Welt der Automatisierungstools hat sich n8n schnell von einem Geheimtipp zu einer der leistungsfähigsten Plattformen entwickelt. Im Gegensatz zu geschlossenen Systemen verfolgt n8n einen "Fair-Code"-Ansatz. Das bedeutet: Der Quellcode ist verfügbar, und das Tool kann entweder in der Cloud genutzt oder – was für Datenschutz und Flexibilität entscheidend ist – auf dem eigenen Server selbst gehostet werden. 

1.2 Infos zu yml Dateien

Bei yml Dateien ist es sehr wichtig, dass die Zeilen alle richtig eingerückt sind. Die Zeilen MÜSSEN immer mit der Leertaste eingerückt werden. Es dürfen KEINE Tabs enthalten sein. Ihr könnt den nachfolgenden Code immer online „überprüfen“ lassen. Die meisten Fehler entstehen nämlich durch die falsche Formatierung. Ein Dienst zum Überprüfen ist zum Beispiel: https://codebeautify.org/yaml-validator

1.3 Vorbereitung

Diese Anleitung basiert auf dem aktuellen Debian 12 Betriebssystem. n8n werden wir unter Docker realisieren. Dies ermöglicht uns später sehr schnelle Updates und eine schnelle Installation.

Um n8n neben anderen Diensten auf unserem Server betreiben zu können, nutzen wir hier den Reverse Proxy Traefik. Die Anleitung dazu findet ihr hier: https://www.dogado.de/vps/vserver-anwendungsfaelle/traefik-reverseproxy-auf-vserver-installieren 

1.3.1 Verzeichnis erstellen

Wir erstellen uns ein neues Verzeichnis, in welchem wir später alle Daten von n8n abspeichen. Dazu geben wir folgendes in der Konsole ein:

mkdir -p /opt/containers/n8n

Ihr könnt hier auch ein anderes Verzeichnis verwenden. Müsst dann aber die gesamte Anleitung entsprechend anpassen.

1.3.2 docker-compose.yml erstellen

Nun können wir mit der eigentlichen „Installation“ von n8n beginnen. Dazu öffnet ihr folgende Datei:

nano /opt/containers/n8n/docker-compose.yml

Nun kopiert ihr folgenden Code in die Datei. Dieser Code ist unser Bauplan für unseren n8n Container.

services:
  n8n-postgres:
    image: postgres:16
    restart: unless-stopped
    env_file:
      - ./.env
    environment:
      - POSTGRES_USER=${POSTGRES_USER}
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
      - POSTGRES_DB=${POSTGRES_DB}
      - POSTGRES_NON_ROOT_USER=${POSTGRES_NON_ROOT_USER}
      - POSTGRES_NON_ROOT_PASSWORD=${POSTGRES_NON_ROOT_PASSWORD}
    volumes:
      - db_storage:/var/lib/postgresql/data
      - ./init-data.sh:/docker-entrypoint-initdb.d/init-data.sh
    healthcheck:
      test: ['CMD-SHELL', 'pg_isready -h localhost -U ${POSTGRES_USER} -d ${POSTGRES_DB}']
      interval: 5s
      timeout: 5s
      retries: 10
    networks:
      - default
  n8n:
    image: docker.n8n.io/n8nio/n8n
    restart: unless-stopped
    env_file:
      - ./.env
    environment:
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=n8n-postgres
      - DB_POSTGRESDB_PORT=5432
      - DB_POSTGRESDB_DATABASE=${POSTGRES_DB}
      - DB_POSTGRESDB_USER=${POSTGRES_NON_ROOT_USER}
      - DB_POSTGRESDB_PASSWORD=${POSTGRES_NON_ROOT_PASSWORD}
    links:
      - n8n-postgres
    volumes:
      - n8n_storage:/home/node/.n8n
    depends_on:
      n8n-postgres:
        condition: service_healthy
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.n8n.entrypoints=http"
      - "traefik.http.routers.n8n.rule=Host(`n8n.euredomain.de`)"
      - "traefik.http.middlewares.n8n-https-redirect.redirectscheme.scheme=https"
      - "traefik.http.routers.n8n.middlewares=n8n-https-redirect"
      - "traefik.http.routers.n8n-secure.entrypoints=https"
      - "traefik.http.routers.n8n-secure.rule=Host(`n8n.euredomain.de`)"
      - "traefik.http.routers.n8n-secure.tls=true"
      - "traefik.http.routers.n8n-secure.tls.certresolver=http"
      - "traefik.http.routers.n8n-secure.service=n8n"
      - "traefik.http.services.n8n.loadbalancer.server.port=5678"
      - "traefik.docker.network=proxy"
      - "traefik.http.routers.n8n-secure.middlewares=secHeaders@file"
    networks:
      - proxy
      - default
networks:
  proxy:
    external: true
 
volumes:
  db_storage:
  n8n_storage:

1.3.3 Hostname anpassen

Nun müsst ihr noch den Hostnamen anpassen, über welchen später n8n erreichbar sein soll.

Diese beiden Zeilen müsst ihr anpassen.

    - "traefik.http.routers.n8n.rule= Host(`n8n.euredomain.de`)"
    - "traefik.http.routers.n8n-secure.rule= Host(`n8n.euredomain.de`)"

In meinem Fall also:

    - "traefik.http.routers.n8n.rule= Host(`n8n.testbereich.net`)"
    - "traefik.http.routers.n8n-secure.rule= Host(`n8n.testbereich.net`)"

1.3.4 Konfigurationsdatei anlegen

Nun legen wir noch eine Konfigurationsdatei an, welche wichtige Infos zur Datenbank beinhaltet. Dazu gebt ihr folgendes ein:

nano /opt/containers/n8n/.env

Inhalt:

POSTGRES_USER=changeUser
POSTGRES_PASSWORD=changePassword
POSTGRES_DB=n8n
POSTGRES_NON_ROOT_USER=changeUser
POSTGRES_NON_ROOT_PASSWORD=changePassword

Diese Daten könnt ihr nun beliebig anpassen.

1.3.5 Datenbank Initialisierungsskript erstellen

Jetzt benötigen wir noch ein Skript, welches die Datenbank beim ersten Start für uns initialisiert. Dafür gebt ihr folgendes ein:

nano /opt/containers/n8n/init-data.sh

Inhalt:

#!/bin/bash
set -e;
if [ -n "${POSTGRES_NON_ROOT_USER:-}" ] && [ -n "${POSTGRES_NON_ROOT_PASSWORD:-}" ]; then
        psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
                CREATE USER ${POSTGRES_NON_ROOT_USER} WITH PASSWORD '${POSTGRES_NON_ROOT_PASSWORD}';
                GRANT ALL PRIVILEGES ON DATABASE ${POSTGRES_DB} TO ${POSTGRES_NON_ROOT_USER};
                GRANT CREATE ON SCHEMA public TO ${POSTGRES_NON_ROOT_USER};
EOSQL
else
        echo "SETUP INFO: No Environment variables given!"
fi

n8n starten

Gebt nun folgendes ein, um euren n8n Container zu starten:

docker compose -f /opt/containers/n8n/docker-compose.yml up -d

Beim ersten Start des Containers wird n8n initialisiert. Dies bedeutet, dass die Datenbank eingerichtet, eure Einstellungen übernommen werden und vieles mehr. Daher dauert es einige Minuten, bis der Container dann über die Webseite (z.B. n8n.testbereich.net) erreichbar ist.

2.1 n8n einrichten

Ihr werdet nun aufgefordert einen Benutzer zu erstellen. Gebt hier eure persönlichen Daten ein.

Bild eines Registrierungsformulars: Titel Set up owner account, Felder Email, Vorname, Nachname, Passwort, Checkbox, Next.

Nun werdet ihr noch einiges über euch gefragt.

Dies könnt ihr überspringen, indem ihr auf „Get started“ klickt. Im letzten Schritt könnt ihr euch nun noch beim Hersteller registrieren, damit ihr zusätzliche Features aktivieren könnt.

Screenshot einer Software-Seite mit Überschrift, drei Feature-Punkte, E-Mail-Eingabefeld und Button.

Diesen Schritt könnt ihr mittels „Skip“ überspringen. Nun ist n8n fertig eingerichtet.

Helles Dashboard: linke vertikale Leiste, zentrale Karte 'Start from scratch' mit Dokument-Symbol, darunter Vorlagenkarten.

Flexibel, leistungsstark und sofort einsatzbereit – dein dogado vServer

Der dogado vServer/VPS bietet dir volle Kontrolle, hohe Performance und flexible Ressourcen. Ideal für Websites, Shops und Anwendungen – sofort einsatzbereit, sicher gehostet in deutschen Rechenzentren.

Server-Racks mit blauer Beleuchtung, Frontpaneele mit Laufwerkschächten, Lüftungsgitter und Netzwerkausrüstung.
Weitere passende Themen