Änderungen von Dokument N8n Workflow Engine
Zuletzt geändert von Daniel Herrmann am 2026/02/22 21:17
Von Version
2.1
bearbeitet von Daniel Herrmann
am 2025/08/31 19:24
am 2025/08/31 19:24
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Auf Version
3.4
bearbeitet von Daniel Herrmann
am 2026/02/22 14:25
am 2026/02/22 14:25
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Zusammenfassung
Details
- Seiteneigenschaften
-
- Inhalt
-
... ... @@ -1,108 +1,39 @@ 1 1 n8n ist ein **Open-Source-Tool zur Workflow-Automatisierung**, das man selbst hosten kann. Über eine **visuelle Oberfläche** baut man Workflows per Drag-and-drop aus sogenannten „Nodes“, die verschiedene Dienste und Aktionen miteinander verbinden. Es gibt Hunderte vorgefertigte Integrationen, z. B. für Slack, Mail oder MQTT. Ebenfalls gibt es eine große Auswahl an für uns relevante Community Nodes (Vikunja, Listmonk, und so weiter) sowie die Möglichkeit, eigene Nodes zu schreiben (beispielsweise Paperless oder NATS). 2 2 3 -= {{id name="N8nWorkflowEngine-WorkflowÜbersicht"/}}WorkflowÜbersicht =3 += Workflow Übersicht = 4 4 5 -asd 5 +Workflows bestehen grundsätzlich aus einem oder mehreren **Triggern** und einer oder mehreren **Aktionen**. Im Folgenden werden nur die für die Mitgliederverwaltung relevanten Workflows beschrieben, N8n kann aber natürlich auch für andere Automatisierung verwendet werden. 6 6 7 -= {{id name="N8nWorkflowEngine-CommunityNodes"/}}Community Nodes=7 +== Workflows für Dokumente == 8 8 9 - asd9 +=== Document Consumed Workflow === 10 10 11 - = {{id name="N8nWorkflowEngine-TechnischesSetup"/}}Technisches Setup =11 +ToDO 12 12 13 -== {{id name="N8nWorkflowEngine-Lizenz"/}}Lizenz==13 +=== Paperless Papierkorb === 14 14 15 - N8n hat eineso genannte "Sustainable Use License". Fürden internen Gerbauch frei verwendbar, solange man keine Produkte damit verkauft. Auszug aus der FAQ:15 +asd 16 16 17 - >Ourlicenserestricts use to"internalbusinesspurposes".In practice this means all use is allowed unlessyou are selling a product,service,or module inwhich the value derives entirely or substantiallyfrom n8n functionality.17 +== Cron Jobs - Sync von Daten == 18 18 19 - Wirverwendenim Makerspacedie kostenlose [[Community License>>url:https://docs.n8n.io/hosting/community-edition-features/||shape="rect"]],den Lizenzkey erhält man online durch AusfülleneinesFormulars.19 +=== Sync Tags für Einweisungen === 20 20 21 - == {{id name="N8nWorkflowEngine-HostingundKubernetes"/}}Hosting und Kubernetes ==21 +ToDo 22 22 23 - N8nsoll hauptsächlich mitunserer Paperless Instanz interagieren und läuft aus diesemGrundebenfalls im Makerspace auf unserem KubernetesCluster. Für die Installation kommt das [[Helm Chart von 8gears>>url:https://artifacthub.io/packages/helm/open-8gears/n8n||shape="rect"]]zum Einsatz.23 +=== Sync Document Types === 24 24 25 - Der Code für die ArgoCDApp ist in Gitlab gespeichert und wird automatisch über ArgoCD synchronisiert: [[https:~~/~~/git.makerspace-darmstadt.de/makerspace-it-infrastructure/gitops/main-apps/n8n/-/tree/main?ref_type=heads>>url:https://git.makerspace-darmstadt.de/makerspace-it-infrastructure/gitops/main-apps/n8n/-/tree/main?ref_type=heads||shape="rect"]]25 +ToDo 26 26 27 - [[image:attach:image-2025-8-31_19-10-32.png||height="250"]]27 +== Backend Event Workflows == 28 28 29 - DieKomponentenbeschränken sichhierbeiauf:29 +Bestimmte Events aus dem Backend werden über NATS als Event gepublished. Details dazu sind auf der Seite zu Nate 30 30 31 -* Die N8n Applikation selbst, das sind die Ressourcen aus dem Helm Chart 32 -* Eine Datenbank-Instanz (PostgeSQL, auf dem zentralen DB Server) 33 -* Secrets, die aus Hashicorp Vault synchronisiert werden 31 +Docum 34 34 35 -= ={{id name="N8nWorkflowEngine-HelmChartParameter"/}}HelmChart Parameter==33 += Community Nodes = 36 36 37 - DasHelm Chart akzepziert einige Parameter, mitdenen das Deployment genauer konfiguriert werden kann. In unserem Fall kurz erklärt:35 +asd 38 38 39 - \\37 += = 40 40 41 -{{code}} 42 -{ 43 - values(ns, version, url, db_name, sc, size, db_hostname='pgsql-postgresql.mksp-services.svc.cluster.local'):: 44 - { 45 - image: { 46 - tag: version, 47 - }, 48 - main: { 49 - config: { 50 - db: { 51 - type: 'postgresdb', 52 - postgresdb: { 53 - database: ns + '-' + db_name, 54 - host: db_hostname, 55 - user: ns + '-' + db_name, 56 - }, 57 - }, 58 - }, 59 - extraEnv: { 60 - DB_POSTGRESDB_PASSWORD: { 61 - valueFrom: { 62 - secretKeyRef: { 63 - name: 'db-' + db_name + '-creds', 64 - key: 'POSTGRES_PASSWORD', 65 - }, 66 - }, 67 - }, 68 - }, 69 - persistence: 70 - { 71 - enabled: true, 72 - type: 'dynamic', 73 - storageClass: sc, 74 - accessModes: ['ReadWriteOnce'], 75 - size: size, 76 - }, 77 - }, 78 - ingress: 79 - { 80 - enabled: true, 81 - annotations: { 82 - 'cert-manager.io/cluster-issuer': 'letsencrypt', 83 - }, 84 - className: 'nginx', 85 - hosts: [ 86 - { 87 - host: url, 88 - paths: ['/'], 89 - }, 90 - ], 91 - tls: [ 92 - { secretName: 'n8n-tls', hosts: [url] }, 93 - ], 94 - }, 95 - }, 96 -} 97 - 98 - 99 -{{/code}} 100 - 101 -Hervorzuheben sind hier insbesondere: 102 - 103 -* Das **Image **- Hier wird die Version von N8n konfiguriert. Eine Versions-Änderung des Helm Charts hat nicht zwangsweise auch eine Versions-Änderung der Applikation selbst (N8n) zur Folge, sodass dieses separat übergeben wird 104 -* **DB Config + Extra Env** - Hier werden die Zugangsdaten für die Datenbank übergeben. Host, Benutzername und Datenbankname werden an Hand des App-Namens erzeugt, das Passwort wird beim Anlegen der Datenbank dynamisch erzeugt und von einem Kubernetes Secret gemounted 105 -* **Persistence **- Hier wird angegeben, wie die Daten persistent gespeichert werden - im Prinzip eine Art Festplatte für ein Kubernetes Pod. Im Makerspace gibt es dafür zwei Storage Classes, die werden im Artikel über unseren [[confluencePage:page:IN.Kubernetes Cluster]] genauer beschrieben 106 -* **Ingress **- Hier wird angegeben, unter welcher Domain N8n erreichbar sein soll und wie das Zertifkat erzeugt wird. 107 - 108 -\\ 39 +