How2-Host

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

n8n ist eine leistungsstarke Open-Source-Plattform zur Automatisierung von Workflows.

1 min Lesezeit
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:

``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.