# Changelog - Workflow Auto-Reload Feature ## Version 1.0.0 - 2024-01-15 ### ✨ Neue Features #### Automatisches Workflow-Reload bei LXC-Neustart Der n8n-Workflow wird jetzt bei jedem Neustart des LXC-Containers automatisch neu geladen. Dies stellt sicher, dass der Workflow immer im gewünschten Zustand ist. ### 📝 Änderungen #### Neue Dateien 1. **`templates/reload-workflow.sh`** - Bash-Script für automatisches Workflow-Reload - Liest Konfiguration aus `.env` - Wartet auf n8n API - Löscht alten Workflow - Importiert neuen Workflow aus Template - Aktiviert Workflow - Umfassendes Logging 2. **`templates/n8n-workflow-reload.service`** - Systemd-Service-Unit - Startet automatisch beim LXC-Boot - Wartet auf Docker und n8n - Führt Reload-Script aus 3. **`WORKFLOW_RELOAD_README.md`** - Vollständige Dokumentation - Funktionsweise - Installation - Fehlerbehandlung - Wartung 4. **`WORKFLOW_RELOAD_TODO.md`** - Implementierungsplan - Aufgabenliste - Status-Tracking 5. **`CHANGELOG_WORKFLOW_RELOAD.md`** - Diese Datei - Änderungsprotokoll #### Geänderte Dateien 1. **`libsupabase.sh`** - Neue Funktion: `n8n_api_list_workflows()` - Neue Funktion: `n8n_api_get_workflow_by_name()` - Neue Funktion: `n8n_api_delete_workflow()` - Neue Funktion: `n8n_api_get_credential_by_name()` 2. **`install.sh`** - Neuer Schritt 10a: Setup Workflow Auto-Reload - Kopiert Workflow-Template in Container - Installiert Reload-Script - Installiert Systemd-Service - Aktiviert Service ### 🔧 Technische Details #### Systemd-Integration - **Service-Name**: `n8n-workflow-reload.service` - **Service-Typ**: `oneshot` - **Abhängigkeiten**: `docker.service` - **Auto-Start**: Ja (enabled) #### Workflow-Verarbeitung - **Template-Speicherort**: `/opt/customer-stack/workflow-template.json` - **Verarbeitungs-Script**: Python 3 - **Credential-Ersetzung**: Automatisch - **Felder-Bereinigung**: `id`, `versionId`, `meta`, `tags`, `active`, `pinData` #### Logging - **Log-Datei**: `/opt/customer-stack/logs/workflow-reload.log` - **Systemd-Journal**: `journalctl -u n8n-workflow-reload.service` - **Log-Level**: INFO, ERROR ### 🎯 Verwendung #### Automatisch (Standard) Bei jeder Installation wird das Auto-Reload-Feature automatisch konfiguriert: ```bash bash install.sh --debug ``` #### Manuelles Reload ```bash # Im LXC-Container /opt/customer-stack/reload-workflow.sh ``` #### Service-Verwaltung ```bash # Status prüfen systemctl status n8n-workflow-reload.service # Logs anzeigen journalctl -u n8n-workflow-reload.service -f # Service neu starten systemctl restart n8n-workflow-reload.service # Service deaktivieren systemctl disable n8n-workflow-reload.service # Service aktivieren systemctl enable n8n-workflow-reload.service ``` ### 🐛 Bekannte Einschränkungen 1. **Wartezeit beim Start**: 10 Sekunden Verzögerung nach Docker-Start 2. **Timeout**: Maximale Wartezeit für n8n API: 60 Sekunden 3. **Workflow-Name**: Muss exakt "RAG KI-Bot (PGVector)" sein 4. **Credential-Namen**: Müssen exakt "PostgreSQL (local)" und "Ollama (local)" sein ### 🔄 Workflow beim Neustart ``` 1. LXC startet 2. Docker startet 3. n8n-Container startet 4. Systemd wartet 10 Sekunden 5. Reload-Script startet 6. Script wartet auf n8n API (max. 60s) 7. Login bei n8n 8. Suche nach altem Workflow 9. Lösche alten Workflow (falls vorhanden) 10. Suche nach Credentials 11. Verarbeite Workflow-Template 12. Importiere neuen Workflow 13. Aktiviere Workflow 14. Cleanup 15. Workflow ist bereit ``` ### 📊 Statistiken - **Neue Dateien**: 5 - **Geänderte Dateien**: 2 - **Neue Funktionen**: 4 - **Zeilen Code**: ~500 - **Dokumentation**: ~400 Zeilen ### 🚀 Nächste Schritte - [ ] Tests durchführen - [ ] Feedback sammeln - [ ] Optimierungen vornehmen - [ ] Weitere Workflows unterstützen (optional) ### 📚 Dokumentation Siehe `WORKFLOW_RELOAD_README.md` für vollständige Dokumentation. ### 🙏 Danke Dieses Feature wurde entwickelt, um die Wartung und Zuverlässigkeit der n8n-Installation zu verbessern.