docs: update INITIAL_PROMPT with system-specific configuration
Add nginx integration details, domain/URL as .env variable, SMTP config, worker scaling, n8n user management, backup retention, and multi-host portability requirements. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
7c9f7aef01
commit
78aa8da747
1 changed files with 69 additions and 58 deletions
|
|
@ -1,85 +1,96 @@
|
||||||
Du arbeitest auf meinem Linux-System und sollst einen vollständigen, produktionsnahen n8n-Stack installieren und konfigurieren. Zumindest die Stack-Anteile, die viel Speicher verbrauchen, sollen im Verzeichnis /home/dschlueter/nvme2n1p7_home/n8n_stack liegen.
|
Du arbeitest auf meinem Linux-System und sollst einen vollständigen, produktionsnahen n8n-Stack installieren und konfigurieren. Alle Stack-Anteile sollen im Verzeichnis /home/dschlueter/nvme2n1p7_home/n8n_stack liegen (separate NVMe-Partition mit ausreichend Platz).
|
||||||
|
|
||||||
Ziel:
|
Ziel:
|
||||||
Ich möchte danach komplette n8n-Projekte von Dritten übernehmen, lokal speichern, importieren, verwalten, sichern und ausführen können. Das System soll robust, updatefähig und nachvollziehbar dokumentiert sein.
|
Ich möchte danach komplette n8n-Projekte von Dritten übernehmen, lokal speichern, importieren, verwalten, sichern und ausführen können. Das System soll robust, updatefähig und nachvollziehbar dokumentiert sein. Der Stack soll auch auf anderen Rechnern (vHosts im Rechenzentrum) installierbar sein — alle standortspezifischen Parameter daher in der .env-Datei.
|
||||||
|
|
||||||
Wichtige Arbeitsregeln:
|
Wichtige Arbeitsregeln:
|
||||||
1. Führe zuerst eine Bestandsaufnahme meines Systems durch und gib einen Umsetzungsplan aus, bevor du Änderungen machst.
|
1. Führe zuerst eine Bestandsaufnahme meines Systems durch und gib einen Umsetzungsplan aus, bevor du Änderungen machst.
|
||||||
2. Prüfe OS, Distribution, Docker, Docker Compose, Firewall, freie Ports, verfügbare Domain/Subdomain, Reverse-Proxy-Situation, RAM, CPU, Plattenplatz und Benutzerrechte.
|
2. Prüfe OS, Distribution, Docker, Docker Compose, Firewall, freie Ports, verfügbare Domain/Subdomain, Reverse-Proxy-Situation, RAM, CPU, Plattenplatz und Benutzerrechte.
|
||||||
3. Wenn Informationen fehlen, frage gezielt nach oder lege eine sinnvolle Standardkonfiguration in einer CONFIG-Sektion offen.
|
3. Nimm nur idempotente Änderungen vor und erstelle vor riskanten Änderungen Backups vorhandener Konfigurationen.
|
||||||
4. Nimm nur idempotente Änderungen vor und erstelle vor riskanten Änderungen Backups vorhandener Konfigurationen.
|
4. Dokumentiere alle erzeugten Dateien und Befehle in einer Markdown-Datei im Projektordner.
|
||||||
5. Dokumentiere alle erzeugten Dateien und Befehle in einer Markdown-Datei im Projektordner.
|
|
||||||
|
Bekannte Systemkonfiguration:
|
||||||
|
- Reverse Proxy: nginx läuft bereits auf diesem System (Ports 80 und 443 sind belegt)
|
||||||
|
→ n8n als neuen Server-Block in die bestehende nginx-Konfiguration integrieren
|
||||||
|
→ n8n läuft intern auf Port 5678, nginx proxied darauf; kein zweiter Proxy
|
||||||
|
- Erreichbarkeit: https://linix.de (IP 92.50.108.218), Portweiterleitung vom Router
|
||||||
|
- Domain/URL: in .env konfigurierbar (N8N_HOST, N8N_PROTOCOL), Standard: n8n.linix.de
|
||||||
|
- TLS: Let's Encrypt über bestehenden nginx
|
||||||
|
- SMTP: IMAP/SMTP-Server auf linix.de — Zugangsdaten in .env konfigurierbar
|
||||||
|
|
||||||
Technische Zielarchitektur:
|
Technische Zielarchitektur:
|
||||||
- Deployment mit Docker Compose
|
- Deployment mit Docker Compose
|
||||||
- n8n als Hauptservice
|
- n8n als Hauptservice (image: n8nio/n8n:latest)
|
||||||
- Postgres als Datenbank
|
- PostgreSQL als Datenbank (stable latest)
|
||||||
- Redis für Queue-Mode
|
- Redis für Queue-Mode
|
||||||
- mindestens ein n8n-Worker
|
- n8n-Worker: initial 1, skalierbar per N8N_WORKER_REPLICAS in .env
|
||||||
- Reverse Proxy mit HTTPS
|
- Persistente Volumes (bind mounts in data/ unterhalb des Projektordners)
|
||||||
- persistente Volumes
|
- .env-Datei für alle standortspezifischen Parameter
|
||||||
- separater Projektordner, z. B. ~/stacks/n8n
|
- Automatischer Start nach Reboot (restart: unless-stopped)
|
||||||
- .env-Datei für Konfiguration
|
- Healthchecks und sinnvolle Restart-Policy
|
||||||
- automatischer Start nach Reboot
|
- Zeitzone: Europe/Berlin
|
||||||
- Healthchecks, sinnvolle Restart-Policy
|
- Sichere Dateirechte (600 für .env, 700 für Skripte)
|
||||||
- Zeitzone Europe/Berlin
|
- Keine Demo-Konfiguration
|
||||||
- sichere Dateirechte
|
|
||||||
- keine Demo-Konfiguration
|
Zugriffsschutz:
|
||||||
|
- n8n eigenes User-Management (EXECUTIONS_MODE=queue, N8N_USER_MANAGEMENT_DISABLED=false)
|
||||||
|
- Owner-Account wird beim ersten Start über die n8n-Web-UI eingerichtet
|
||||||
|
- SMTP für Einladungen und Passwort-Reset konfigurieren
|
||||||
|
|
||||||
Funktionsanforderungen:
|
Funktionsanforderungen:
|
||||||
- Ich muss Workflow-JSON-Dateien importieren können
|
- Workflow-JSON-Dateien importieren (primär einzelne JSONs, ggf. auch Voll-Exporte)
|
||||||
- Ich muss Credentials und Workflows per CLI exportieren und importieren können
|
- Credentials und Workflows per CLI exportieren und importieren
|
||||||
- Lege dafür Hilfsskripte an:
|
- Hilfsskripte (alle idempotent, Pfade relativ zum Projektverzeichnis):
|
||||||
- import-workflow.sh
|
- scripts/import-workflow.sh (einzelne JSON-Datei oder Verzeichnis)
|
||||||
- import-credentials.sh
|
- scripts/import-credentials.sh
|
||||||
- export-workflows.sh
|
- scripts/export-workflows.sh
|
||||||
- export-credentials.sh
|
- scripts/export-credentials.sh
|
||||||
- backup-n8n.sh
|
- scripts/backup-n8n.sh (sichert DB + n8n-Daten + Compose-Dateien)
|
||||||
- restore-n8n.sh
|
- scripts/restore-n8n.sh
|
||||||
- Erstelle Ordner für:
|
- scripts/update-n8n.sh (führt backup-n8n.sh aus, dann docker compose pull + up)
|
||||||
- backups/
|
- Verzeichnisstruktur:
|
||||||
|
- backups/ (gitignoriert; Retention: immer die letzten 2 Backups behalten)
|
||||||
- imports/workflows/
|
- imports/workflows/
|
||||||
- imports/credentials/
|
- imports/credentials/
|
||||||
- local-files/
|
- local-files/ (für Dateien, die n8n-Container lesen sollen)
|
||||||
- compose/
|
- compose/ (docker-compose.yml und Overrides)
|
||||||
|
- scripts/
|
||||||
- docs/
|
- docs/
|
||||||
|
- data/ (gitignoriert; bind-mount-Ziel für alle Volumes)
|
||||||
|
|
||||||
Sicherheitsanforderungen:
|
Sicherheitsanforderungen:
|
||||||
- generiere starke zufällige Secrets
|
- Generiere starke zufällige Secrets (DB-Passwort, N8N_ENCRYPTION_KEY, Redis-Passwort)
|
||||||
- verwende eine feste N8N_ENCRYPTION_KEY-Konfiguration
|
- N8N_ENCRYPTION_KEY darf nach dem ersten Start nie geändert werden — dokumentiere das prominent
|
||||||
- setze sichere Datei- und Verzeichnisrechte
|
- Nur Port 5678 intern; extern läuft alles über nginx auf 443
|
||||||
- exponiere nur notwendige Ports
|
- Dokumentiere klar: Credential-Exporte sind unverschlüsselt — Exportverzeichnis schützen
|
||||||
- falls bereits ein Reverse Proxy existiert, integriere n8n dort statt einen zweiten Proxy unnötig parallel zu betreiben
|
|
||||||
- dokumentiere klar, welche Daten unverschlüsselt exportiert werden können und welche Risiken das hat
|
|
||||||
|
|
||||||
Betriebsanforderungen:
|
Betriebsanforderungen:
|
||||||
- richte Logs, Update-Hinweise und Wartungsbefehle ein
|
- update-n8n.sh sichert automatisch vor jedem Update
|
||||||
- prüfe den Stack nach dem Start mit health/status checks
|
- Backup-Retention: nach jedem Backup die ältesten löschen, sodass immer genau 2 übrig bleiben
|
||||||
- teste, dass n8n erreichbar ist
|
- Logs, Update-Hinweise und Wartungsbefehle dokumentieren
|
||||||
- teste, dass ein Workflow-Import grundsätzlich möglich ist
|
- Stack nach Start mit health/status checks prüfen
|
||||||
- richte ein Beispiel für CLI-Import/Export ein
|
- Beispiel für CLI-Import/Export einrichten
|
||||||
- richte ein Backup-Konzept für Datenbank, n8n-Daten und Compose-Dateien ein
|
|
||||||
|
|
||||||
Erwartetes Ergebnis:
|
Erwartetes Ergebnis:
|
||||||
1. Vollständig installierter und laufender n8n-Stack
|
1. Vollständig installierter und laufender n8n-Stack
|
||||||
2. Alle Konfigurationsdateien erstellt
|
2. Alle Konfigurationsdateien erstellt (.env, compose/docker-compose.yml, nginx-Server-Block)
|
||||||
3. Alle Skripte funktionsfähig
|
3. Alle Skripte funktionsfähig und getestet
|
||||||
4. README.md mit:
|
4. .env.example als sichere Vorlage (ohne Secrets, mit Kommentaren)
|
||||||
- Architektur
|
5. README.md mit:
|
||||||
- Pfaden
|
- Architektur und Datenfluss
|
||||||
|
- Pfaden und Verzeichnisstruktur
|
||||||
- Start/Stop/Update-Befehlen
|
- Start/Stop/Update-Befehlen
|
||||||
- Backup/Restore
|
- Backup/Restore (inkl. Retention-Hinweis)
|
||||||
- Import/Export von Workflows und Credentials
|
- Import/Export von Workflows und Credentials
|
||||||
- Hinweise zur Übernahme fremder n8n-Projekte
|
- Hinweise zur Übernahme fremder n8n-Projekte
|
||||||
5. Abschließend eine kompakte Übergabe mit:
|
- Deployment auf neuem Host (was in .env anpassen)
|
||||||
- verwendeten URLs
|
6. Abschließend eine kompakte Übergabe mit:
|
||||||
- Zugangspfad
|
- URL und Zugangspfad
|
||||||
- wichtigen Secrets-Dateien bzw. Speicherorten
|
- Speicherort der Secrets
|
||||||
- To-do-Punkten, falls manuell noch Domain/DNS erforderlich ist
|
- To-do-Punkten für DNS/Domain falls manuell erforderlich
|
||||||
|
|
||||||
Bevor du Änderungen machst:
|
Bevor du Änderungen machst:
|
||||||
- analysiere zuerst mein System
|
- Analysiere zuerst das System (Docker-Version, nginx-Konfiguration, freie Ports, Plattenplatz)
|
||||||
- formuliere dann einen konkreten Plan
|
- Formuliere dann einen konkreten Plan
|
||||||
- führe danach die Installation und Konfiguration Schritt für Schritt aus
|
- Führe danach die Installation und Konfiguration Schritt für Schritt aus
|
||||||
- zeige mir am Ende alle erzeugten Dateien
|
- Zeige mir am Ende alle erzeugten Dateien
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue