> For the complete documentation index, see [llms.txt](https://docs.clore.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.clore.ai/guides/guides_v2-de/ki-plattformen-and-agenten/n8n.md).

# n8n AI-Workflows

## Überblick

[n8n](https://github.com/n8n-io/n8n) ist eine Fair-Code-Workflow-Automatisierungsplattform mit **55K+ GitHub-Sternen**. Im Gegensatz zu vollständig Closed-Source-Alternativen (Zapier, Make) ermöglicht n8n, den gesamten Stack selbst zu hosten — mit vollständiger Datenkontrolle — und bietet gleichzeitig native KI-Agenten-Funktionen, einen JavaScript-/Python-Code-Knoten und eine wachsende Bibliothek mit über 400 Integrationen.

An **Clore.ai**, n8n selbst läuft auf der CPU (keine GPU erforderlich), lässt sich jedoch kraftvoll mit GPU-beschleunigten Diensten wie Ollama oder vLLM kombinieren, die auf demselben Server laufen, und bietet Ihnen damit einen vollständig lokalen KI-Automatisierungs-Stack. Sie können eine produktive n8n-Instanz für unter **0,10–0,20 $/Std.**.

**Wesentliche Funktionen:**

* 🔗 **400+ Integrationen** — Slack, GitHub, Google Sheets, Postgres, HTTP-Anfrage, Webhooks und vieles mehr
* 🤖 **KI-Agent-Knoten** — eingebaute, von LangChain angetriebene Agenten mit Tool-Nutzung und Memory
* 💻 **Code-Knoten** — beliebiges JavaScript oder Python inline in Workflows ausführen
* 🔄 **Vielfalt an Triggern** — Webhooks, Cron-Zeitpläne, Datenbankabfragen, E-Mail, Queue-Ereignisse
* 📊 **Sub-Workflows** — modulare, wiederverwendbare Workflow-Komponenten
* 🔐 **Zugangsdaten-Tresor** — verschlüsselte Speicherung für API-Schlüssel und OAuth-Tokens
* 🏠 **Selbst gehostet** — Ihre Daten verlassen niemals Ihren Server

***

## Anforderungen

n8n ist eine Node.js-Anwendung, die als Docker-Image verpackt ist. Es ist **Nur CPU** — keine GPU für die Automatisierungs-Engine selbst erforderlich. Eine GPU wird nur nützlich, wenn Sie ein lokales LLM daneben betreiben (z. B. Ollama).

| Konfiguration                    | GPU         | VRAM  | System-RAM | Festplatte | Clore.ai-Preis      |
| -------------------------------- | ----------- | ----- | ---------- | ---------- | ------------------- |
| **Minimal** (nur n8n)            | Keine / CPU | —     | 2 GB       | 10 GB      | \~0,03 $/Std. (CPU) |
| **Standard**                     | Keine / CPU | —     | 4 GB       | 20 GB      | \~0,05 $/Std.       |
| **+ Lokales LLM (Ollama)**       | RTX 3090    | 24 GB | 16 GB      | 60 GB      | \~$0.20/Stunde      |
| **+ Hochdurchsatz-LLM**          | A100 40 GB  | 40 GB | 32 GB      | 100 GB     | \~0,80 $/Std.       |
| **KI-Starter-Kit (vollständig)** | RTX 4090    | 24 GB | 32 GB      | 100 GB     | \~$0.35/Stunde      |

> **Tipp:** Der [n8n Selbstgehostetes KI-Starter-Kit](https://github.com/n8n-io/self-hosted-ai-starter-kit) bündelt n8n + Ollama + Qdrant + PostgreSQL in einem Docker-Compose-Stack. Siehe [KI-Starter-Kit](#ai-starter-kit-recommended) unten.

***

## Schnellstart

### 1. Miete einen Clore.ai-Server

Melde dich an bei [clore.ai](https://clore.ai) und deployen Sie einen Server:

* **Nur-CPU-Instanz** wenn Sie nur n8n-Automatisierung benötigen
* **RTX 3090/4090** wenn Sie lokale LLMs über Ollama möchten
* Port freigeben **5678** in den Port-Mapping-Einstellungen des Angebots
* SSH-Zugriff aktivieren

### 2. Verbinden Sie sich mit dem Server

```bash
ssh root@<clore-server-ip> -p <ssh-port>

# Überprüfen Sie, ob Docker installiert ist
docker --version
docker compose version
```

### 3. Option A — Minimaler Start mit einem einzelnen Container

Der schnellste Weg, n8n zum Laufen zu bringen:

```bash
# Erstellen Sie ein benanntes Volume für Persistenz
docker volume create n8n_data

# n8n ausführen
docker run -d \
  --name n8n \
  --restart unless-stopped \
  -p 5678:5678 \
  -v n8n_data:/home/node/.n8n \
  -e N8N_HOST=<clore-server-ip> \
  -e N8N_PORT=5678 \
  -e N8N_PROTOCOL=http \
  -e WEBHOOK_URL=http://<clore-server-ip>:5678/ \
  docker.n8n.io/n8nio/n8n

# Logs prüfen
docker logs -f n8n
```

Greifen Sie auf die UI zu unter `http://<clore-server-ip>:5678`

### 4. Option B — Docker Compose mit Postgres (Produktion)

Für den Produktionseinsatz ersetzen Sie das standardmäßige SQLite durch Postgres:

```bash
mkdir n8n-prod && cd n8n-prod
cat > docker-compose.yml << 'EOF'
version: "3.8"

services:
  postgres:
    image: postgres:15-alpine
    restart: unless-stopped
    environment:
      POSTGRES_USER: n8n
      POSTGRES_PASSWORD: n8npassword   # Ändern Sie das!
      POSTGRES_DB: n8n
    volumes:
      - postgres_data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U n8n"]
      interval: 10s
      timeout: 5s
      retries: 5

  n8n:
    image: docker.n8n.io/n8nio/n8n
    restart: unless-stopped
    depends_on:
      postgres:
        condition: service_healthy
    ports:
      - "5678:5678"
    environment:
      DB_TYPE: postgresdb
      DB_POSTGRESDB_HOST: postgres
      DB_POSTGRESDB_PORT: 5432
      DB_POSTGRESDB_DATABASE: n8n
      DB_POSTGRESDB_USER: n8n
      DB_POSTGRESDB_PASSWORD: n8npassword
      N8N_HOST: <clore-server-ip>
      N8N_PORT: 5678
      N8N_PROTOCOL: http
      WEBHOOK_URL: http://<clore-server-ip>:5678/
      N8N_ENCRYPTION_KEY: Ihr-32-stelliger-Verschlüsselungs-Schlüssel-hier
      EXECUTIONS_MODE: regular
      N8N_BASIC_AUTH_ACTIVE: "true"
      N8N_BASIC_AUTH_USER: admin
      N8N_BASIC_AUTH_PASSWORD: ändere-mich!
    volumes:
      - n8n_data:/home/node/.n8n

volumes:
  postgres_data:
  n8n_data:
EOF

docker compose up -d
docker compose logs -f n8n
```

***

## KI-Starter-Kit (empfohlen)

Der [n8n Selbstgehostetes KI-Starter-Kit](https://github.com/n8n-io/self-hosted-ai-starter-kit) ist der schnellste Weg zu einem vollständigen lokalen KI-Automatisierungs-Stack. Es liefert:

* **n8n** — Workflow-Automatisierung
* **Ollama** — lokale LLM-Inferenz (GPU oder CPU)
* **Qdrant** — Vektordatenbank für RAG
* **PostgreSQL** — persistenter Speicher

```bash
# Klonen Sie das Starter-Kit
git clone https://github.com/n8n-io/self-hosted-ai-starter-kit.git
cd self-hosted-ai-starter-kit

# Für GPU-fähige Server (RTX 3090, 4090, A100, etc.)
docker compose --profile gpu-nvidia up -d

# Für reine CPU-Server
docker compose --profile cpu up -d

# Startup überwachen
docker compose logs -f

# Ein Modell in Ollama ziehen (nachdem der Stack gestartet ist)
docker exec ollama ollama pull llama3:8b
docker exec ollama ollama pull nomic-embed-text  # Für Embeddings
```

Dienste nach dem Start:

| Dienst     | URL                          |
| ---------- | ---------------------------- |
| n8n UI     | `http://<ip>:5678`           |
| Ollama-API | `http://<ip>:11434`          |
| Qdrant UI  | `http://<ip>:6333/dashboard` |

> **Hinweis:** Ollama mit GPU erfordert das [NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html), das auf Clore.ai-Servern vorinstalliert ist.

***

## Konfiguration

### Referenz zu Umgebungsvariablen

```bash
# ── Kern-Einstellungen ────────────────────────────────────────────────────────
N8N_HOST=0.0.0.0                  # Bind-Adresse
N8N_PORT=5678                     # Port zum Abhören
N8N_PROTOCOL=http                 # http oder https
WEBHOOK_URL=http://<ip>:5678/     # Öffentliche Basis-Webhook-URL (kritisch!)

# ── Verschlüsselung ──────────────────────────────────────────────────────────
N8N_ENCRYPTION_KEY=<32-stelliger-Schlüssel>  # Verschlüsselt gespeicherte Zugangsdaten
# Erzeugen: openssl rand -hex 16

# ── Authentifizierung ───────────────────────────────────────────────────────
N8N_BASIC_AUTH_ACTIVE=true
N8N_BASIC_AUTH_USER=admin
N8N_BASIC_AUTH_PASSWORD=Ihr-sicheres-Passwort

# ── Ausführungs-Einstellungen ─────────────────────────────────────────────────
EXECUTIONS_MODE=regular           # regular (einzeln) oder queue (mit Redis)
EXECUTIONS_DATA_SAVE_ON_SUCCESS=all
EXECUTIONS_DATA_SAVE_ON_ERROR=all
EXECUTIONS_DATA_MAX_AGE=336       # Bewahren Sie Ausführungsdaten 14 Tage auf

# ── Zeitzone ────────────────────────────────────────────────────────────────
GENERIC_TIMEZONE=UTC

# ── Telemetrie deaktivieren (optional) ───────────────────────────────────────
N8N_DIAGNOSTICS_ENABLED=false
N8N_VERSION_NOTIFICATIONS_ENABLED=false
```

### n8n mit Ollama für KI-Agenten verbinden

Sobald Ollama auf demselben Server läuft:

1. Fügen Sie in n8n eine neue Zugangsdaten-Konfiguration hinzu: **Ollama-API**
   * Basis-URL: `http://ollama:11434` (bei Verwendung von Compose) oder `http://localhost:11434`
2. Fügen Sie in einem Workflow einen **KI-Agent** Knoten
3. Unter **Chat-Modell**, wählen Sie Ollama und wählen Sie Ihr Modell (z. B. `llama3:8b`)
4. Fügen Sie Tools wie **HTTP-Anfrage**, **Postgres**, oder **Code** Knoten
5. Ausführen!

***

## Tipps & bewährte Methoden

### Kostenoptimierung auf Clore.ai

```bash
# Exportieren Sie alle Workflows, bevor Sie Ihre Instanz stoppen
# Verwenden Sie das n8n-CLI innerhalb des Containers:
docker exec n8n n8n export:workflow --all --output=/home/node/.n8n/workflows-backup.json

# Kopieren Sie das Backup auf die lokale Maschine
docker cp n8n:/home/node/.n8n/workflows-backup.json ./n8n-workflows-backup.json

# Importieren auf einer neuen Instanz:
docker exec n8n n8n import:workflow --input=/home/node/.n8n/workflows-backup.json
```

### Webhook-Zuverlässigkeit auf Clore.ai

Clore.ai-Server haben dynamische IPs. Wenn Ihre Webhooks nach einem Redeploy nicht mehr funktionieren:

```bash
# 1. Verwenden Sie eine statische Domain mit Caddy + Let's Encrypt
# Caddyfile:
# n8n.IhreDomain.com {
#     reverse_proxy n8n:5678
# }

# 2. Oder verwenden Sie Cloudflare Tunnel (kostenlos, keine offenen Ports erforderlich):
docker run -d \
  --name cloudflared \
  --network n8n-prod_default \
  cloudflare/cloudflared:latest \
  tunnel --no-autoupdate run \
  --token <Ihr-Cloudflare-Tunnel-Token>
```

### Queue-Modus für Workflows mit hohem Volumen

```bash
# Fügen Sie Redis hinzu und betreiben Sie n8n im Queue-Modus für parallele Ausführung
# In docker-compose.yml hinzufügen:
  redis:
    image: redis:7-alpine
    restart: unless-stopped

  n8n-worker:
    image: docker.n8n.io/n8nio/n8n
    command: worker
    depends_on: [redis, postgres]
    environment:
      <<: *n8n-env
      EXECUTIONS_MODE: queue
      QUEUE_BULL_REDIS_HOST: redis
```

### Nützliche n8n-CLI-Befehle

```bash
# Alle Workflows auflisten
docker exec n8n n8n list:workflow

# Einen bestimmten Workflow manuell ausführen
docker exec n8n n8n execute --id=<workflow-id>

# n8n auf die neueste Version aktualisieren
docker pull docker.n8n.io/n8nio/n8n
docker compose up -d n8n

# n8n-Version prüfen
docker exec n8n n8n --version
```

### Sicherheits-Härtung

```bash
# Führen Sie n8n hinter einem Reverse-Proxy mit HTTPS aus
# Setzen Sie Port 5678 in der Produktion niemals direkt nach außen offen
# Verwenden Sie N8N_BASIC_AUTH oder konfigurieren Sie SSO über LDAP/SAML

# Beschränken Sie, welche Knoten erlaubt sind (Whitelist-Modus):
NODE_FUNCTION_ALLOW_EXTERNAL=axios,lodash
NODES_EXCLUDE='["n8n-nodes-base.executeCommand"]'  # Shell-Ausführung blockieren
```

***

## Fehlerbehebung

### n8n-Container beendet sich sofort

```bash
docker logs n8n

# Häufige Probleme:
# 1. DB-Verbindung fehlgeschlagen — prüfen Sie, ob Postgres gesund ist
docker compose ps postgres

# 2. Verschlüsselungs-Schlüssel stimmt nicht überein — wenn Sie N8N_ENCRYPTION_KEY geändert haben
#    werden Zugangsdaten unlesbar; geben Sie sie nach Schlüsseländerung erneut ein

# 3. Port-Konflikt
ss -tlnp | grep 5678
```

### Webhooks geben 404 zurück

```bash
# Stellen Sie sicher, dass WEBHOOK_URL der öffentlichen Adresse entspricht, die Ihre Webhook-Absender verwenden
# Sie muss den abschließenden Schrägstrich enthalten
WEBHOOK_URL=http://<Ihre-öffentliche-ip>:5678/

# Starten Sie n8n neu, nachdem Sie diese Umgebungsvariable geändert haben
docker compose restart n8n
```

### KI-Agent-Knoten kann Ollama nicht erreichen

```bash
# Testen Sie aus dem n8n-Container heraus
docker exec n8n wget -qO- http://ollama:11434/api/tags
# oder
docker exec n8n curl http://localhost:11434/api/tags

# Wenn separate Container verwendet werden, die nicht im selben Compose-Netzwerk sind:
# Verwenden Sie host.docker.internal oder die LAN-IP des Servers
```

### "ENOSPC: kein Speicherplatz mehr auf dem Gerät"

```bash
# Festplattennutzung prüfen
df -h
docker system df

# Alte Ausführungsdaten in der n8n-UI bereinigen:
# Einstellungen → Ausführungen → Alte Ausführungen löschen

# Oder automatische Bereinigung einstellen:
EXECUTIONS_DATA_PRUNE=true
EXECUTIONS_DATA_MAX_AGE=72   # 72 Stunden
```

### Langsame Workflow-Ausführung

```bash
# CPU-Auslastung prüfen
top -c

# Aktivieren Sie den Queue-Modus für parallele Ausführung (siehe Tipps oben)
# Erhöhen Sie bei Bedarf den Node.js-Speicher:
NODE_OPTIONS=--max-old-space-size=4096
```

***

## Weiterführende Lektüre

* [Offizielle n8n-Dokumentation](https://docs.n8n.io)
* [n8n GitHub-Repository](https://github.com/n8n-io/n8n)
* [n8n Selbstgehostetes KI-Starter-Kit](https://github.com/n8n-io/self-hosted-ai-starter-kit)
* [n8n Docker-Installationsanleitung](https://docs.n8n.io/hosting/installation/docker/)
* [Ollama auf Clore.ai ausführen](/guides/guides_v2-de/sprachmodelle/ollama.md)
* [Clore.ai GPU-Vergleich](/guides/guides_v2-de/erste-schritte/gpu-comparison.md)
* [n8n Community-Forum](https://community.n8n.io)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.clore.ai/guides/guides_v2-de/ki-plattformen-and-agenten/n8n.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
