🛠 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:
``bash adduser n8n usermod -aG sudo n8n su - n8n ``
2. Node.js und npm installieren
Installiere die aktuelle LTS-Version:
``bash curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt-get install -y nodejs ``
Version prüfen:
``bash node -v npm -v ``
3. n8n global installieren
``bash sudo npm install -g n8n ``
Ein erster Testlauf:
``bash n8n ``
Erreichbar unter: http://localhost:5678 Mit STRG+C beenden.
4. Umgebungsvariablen konfigurieren
``bash mkdir -p ~/.n8n nano ~/.n8n/.env ``
Beispielkonfiguration:
``ini 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
``bash sudo apt install postgresql postgresql-contrib sudo -u postgres psql ``
Innerhalb der PSQL-Konsole:
``sql CREATE DATABASE n8ndb; CREATE USER n8nuser WITH PASSWORD 'DEINPASSWORT'; GRANT ALL PRIVILEGES ON DATABASE n8ndb TO n8nuser; \q ``
6. systemd-Dienst einrichten
``bash sudo nano /etc/systemd/system/n8n.service ``
Inhalt:
```ini [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:
``bash sudo systemctl daemon-reload sudo systemctl enable --now n8n ``
7. NGINX als Reverse Proxy einrichten
``bash sudo apt install nginx sudo nano /etc/nginx/sites-available/n8n ``
Inhalt:
```nginx 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:
``bash sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/ sudo systemctl restart nginx ``
8. Let’s Encrypt SSL-Zertifikat
``bash sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d n8n.deine-domain.de ``
Automatische Verlängerung einrichten:
``bash sudo crontab -e ``
Eintragen:
``cron 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.