Das Projekt installiert und konfiguriert einen vollständigen, produktionsnahen n8n-Stack auf einem Ubuntu-Linux-System.
Find a file
dschlueter a14ea92dad fix: Chatbot-Workflows korrigiert und Memory-Bug behoben
- Inline SQL-Expressions statt queryParams (Postgres-Node-Kompatibilität)
- CTE-Query garantiert immer eine Zeile (verhindert Abbruch bei neuer Session)
- Delete-Workflow ebenfalls auf inline SQL umgestellt

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 03:57:34 +02:00
compose feat: Chatbot-Workflows mit Ollama-Memory und Session-Management 2026-05-06 02:44:13 +02:00
docs docs: yunohost nginx config auf my_webapp-Shim-Ansatz umstellen 2026-05-06 00:37:23 +02:00
imports/workflows fix: Chatbot-Workflows korrigiert und Memory-Bug behoben 2026-05-06 03:57:34 +02:00
scripts scripts: YunoHost post_app_upgrade hook für n8n-Proxy-Config 2026-05-06 01:15:42 +02:00
.env.example feat: complete n8n stack setup 2026-05-05 17:31:59 +02:00
.gitignore chore: initial project scaffold 2026-05-05 16:21:18 +02:00
BEDIENUNGSANLEITUNG.md docs: README überarbeiten und BEDIENUNGSANLEITUNG.md hinzufügen 2026-05-06 01:48:24 +02:00
CLAUDE.md chore: initial project scaffold 2026-05-05 16:21:18 +02:00
INITIAL_PROMPT.md docs: update INITIAL_PROMPT with system-specific configuration 2026-05-05 16:57:06 +02:00
README.md docs: README überarbeiten und BEDIENUNGSANLEITUNG.md hinzufügen 2026-05-06 01:48:24 +02:00

n8n Stack

Produktionsnaher n8n-Stack auf Docker Compose mit PostgreSQL 16, Redis 7 und Queue-Mode.

Architektur

Internet → n8n.linix.de:443
  → YunoHost (192.168.179.10) — TLS-Terminierung (Let's Encrypt)
    → nginx lokal :8088 (192.168.179.124)
      → n8n Docker :5678
          ↔ PostgreSQL (n8n-stack-postgres-1)
          ↔ Redis      (n8n-stack-redis-1)
          ← n8n-worker (n8n-stack-n8n-worker-1)

YunoHost-SSOwat-Bypass: my_webapp als registrierter Platzhalter, nginx-Proxy-Block in /etc/nginx/conf.d/n8n.linix.de.d/my_webapp.conf (wird durch Hook 99-n8n-proxy nach Upgrades automatisch wiederhergestellt).

Verzeichnisstruktur

n8n_stack/
├── compose/docker-compose.yml        # Stack-Definition
├── .env                              # Secrets (600, nie committen!)
├── .env.example                      # Vorlage
├── scripts/                          # Hilfsskripte (700)
│   └── yunohost-hook-restore-n8n-proxy.sh  # Hook-Vorlage für YunoHost
├── data/                             # Docker-Volumes (gitignoriert)
├── backups/                          # Backups, max. 2 (gitignoriert)
├── imports/workflows/                # Workflow-JSONs zum Importieren
├── imports/credentials/              # Credential-Exporte (unverschlüsselt!)
├── local-files/                      # Dateien für n8n-Container (/files)
└── docs/                             # nginx-Configs, Runbooks

Schnellstart

# Stack starten
docker compose -f compose/docker-compose.yml up -d

# Status prüfen
docker compose -f compose/docker-compose.yml ps

# Logs
docker compose -f compose/docker-compose.yml logs -f n8n

Ausführliche Bedienungsanleitung: BEDIENUNGSANLEITUNG.md

Deployment auf neuem Host

  1. Repo klonen
  2. .env.example.env kopieren, alle Werte ausfüllen
  3. Neuen N8N_ENCRYPTION_KEY generieren: openssl rand -base64 32
  4. N8N_HOST und WEBHOOK_URL auf neue Domain anpassen
  5. Lokale nginx-Config aus docs/nginx-local-n8n.conf aktivieren (Port 8088)
  6. Auf YunoHost: my_webapp installieren, nginx-Config durch Proxy ersetzen (siehe docs/yunohost-nginx-n8n.conf)
  7. YunoHost-Hook deployen: scripts/yunohost-hook-restore-n8n-proxy.sh/etc/yunohost/hooks.d/post_app_upgrade/99-n8n-proxy
  8. docker compose -f compose/docker-compose.yml up -d

Kritische Hinweise

  • N8N_ENCRYPTION_KEY darf nach dem ersten Start nie geändert werden — macht alle gespeicherten Credentials unbrauchbar.
  • .env nie committen (steht in .gitignore).
  • Credential-Exporte enthalten Secrets im Klartext — nach Gebrauch löschen.
  • Backup läuft automatisch vor jedem Update via update-n8n.sh.

URLs

Was Wert
n8n Web-UI https://n8n.linix.de
Secrets-Datei ./.env (Rechte 600)
nginx lokal /etc/nginx/sites-available/n8n (Port 8088)
YunoHost nginx /etc/nginx/conf.d/n8n.linix.de.d/my_webapp.conf
YunoHost Hook /etc/yunohost/hooks.d/post_app_upgrade/99-n8n-proxy