open-how2 – Entdecke. Verstehe. Nutze.
Veröffentlicht am
How2-Host

n8n unter Debian 12 ohne Docker installieren – Schritt-für-Schritt-Anleitung

Autor
n8n unter Debian 12 ohne Docker installieren – Schritt-für-Schritt-Anleitung

🛠 n8n unter Debian 12 ohne Docker installieren – Schritt-für-Schritt-Anleitung

n8n ist eine leistungsstarke Open-Source-Plattform zur Automatisierung von Workflows. Wer auf Datenschutz, Kostenkontrolle und maximale Flexibilität setzt, kommt an einer self-hosted Installation kaum vorbei. In dieser Anleitung zeigen wir dir, wie du n8n ohne Docker auf einem Debian-12-Server installierst – ideal für Entwickler, Agenturen oder Tech-affine Organisationen.

Voraussetzungen

  • Debian 12 Server (Root-Zugriff per SSH)
  • Mindestens 2 vCPU & 2 GB RAM empfohlen
  • FQDN (z. B. n8n.deine-domain.de) für HTTPS-Zugriff
  • Offenheit für Terminal-Befehle

1. Systembenutzer anlegen

Erstelle einen dedizierten Benutzer für n8n:

adduser n8n
usermod -aG sudo n8n
su - n8n

2. Node.js und npm installieren

Installiere die aktuelle LTS-Version:

curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs

Version prüfen:

node -v
npm -v

3. n8n global installieren

sudo npm install -g n8n

Ein erster Testlauf:

n8n

Erreichbar unter: http://localhost:5678 Mit STRG+C beenden.

4. Umgebungsvariablen konfigurieren

mkdir -p ~/.n8n
nano ~/.n8n/.env

Beispielkonfiguration:

N8N_HOST=0.0.0.0
N8N_PORT=5678
WEBHOOK_URL=https://n8n.deine-domain.de/
DB_TYPE=postgresdb
DB_POSTGRESDB_HOST=localhost
DB_POSTGRESDB_PORT=5432
DB_POSTGRESDB_DATABASE=n8ndb
DB_POSTGRESDB_USER=n8nuser
DB_POSTGRESDB_PASSWORD=DEINPASSWORT
DB_POSTGRESDB_SCHEMA=public
N8N_BASIC_AUTH_ACTIVE=true
N8N_BASIC_AUTH_USER=admin
N8N_BASIC_AUTH_PASSWORD=starkespasswort

5. PostgreSQL installieren und einrichten

sudo apt install postgresql postgresql-contrib
sudo -u postgres psql

Innerhalb der PSQL-Konsole:

CREATE DATABASE n8ndb;
CREATE USER n8nuser WITH PASSWORD 'DEINPASSWORT';
GRANT ALL PRIVILEGES ON DATABASE n8ndb TO n8nuser;
\q

6. systemd-Dienst einrichten

sudo nano /etc/systemd/system/n8n.service

Inhalt:

[Unit]
Description=n8n workflow automation
After=network.target

[Service]
Type=simple
User=n8n
EnvironmentFile=/home/n8n/.n8n/.env
ExecStart=/usr/bin/n8n
Restart=on-failure
WorkingDirectory=/home/n8n/.n8n

[Install]
WantedBy=multi-user.target

Aktivieren und starten:

sudo systemctl daemon-reload
sudo systemctl enable --now n8n

7. NGINX als Reverse Proxy einrichten

sudo apt install nginx
sudo nano /etc/nginx/sites-available/n8n

Inhalt:

server {
    listen 80;
    server_name n8n.deine-domain.de;

    location / {
        proxy_pass http://localhost:5678;
        proxy_set_header Host $host;
        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;
    }
}

Aktivieren:

sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
sudo systemctl restart nginx

8. Let’s Encrypt SSL-Zertifikat

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d n8n.deine-domain.de

Automatische Verlängerung einrichten:

sudo crontab -e

Eintragen:

0 2 * * * certbot renew --quiet --post-hook "systemctl reload nginx"

Abschluss

Dein n8n ist jetzt erreichbar unter:

https://n8n.deine-domain.de Login mit admin / starkespasswort (oder deinem eigenen Passwort)

Fazit

Mit dieser Anleitung hast du n8n ohne Docker auf Debian 12 erfolgreich installiert – inklusive Datenbank, systemd-Dienst, Authentifizierung und HTTPS. Du hast nun die volle Kontrolle über dein System, deine Daten und deine Automatisierungen.