From 8e4225e62f12e7f6785befe928686eab5e5ed31c Mon Sep 17 00:00:00 2001 From: Nicolas Meienberger Date: Tue, 13 Feb 2024 09:22:41 +0100 Subject: [PATCH] refactor(n8n): split v0 and v1 into a deprecation flow --- apps/n8n-1/config.json | 31 +++++++++++ apps/{n8n => n8n-1}/data/init-data.sh | 0 apps/n8n-1/docker-compose.yml | 73 ++++++++++++++++++++++++++ apps/n8n-1/metadata/description.md | 16 ++++++ apps/n8n-1/metadata/logo.jpg | Bin 0 -> 29217 bytes apps/n8n/config.json | 20 ++----- apps/n8n/docker-compose.yml | 37 ++----------- apps/n8n/metadata/description.md | 14 ++--- 8 files changed, 132 insertions(+), 59 deletions(-) create mode 100644 apps/n8n-1/config.json rename apps/{n8n => n8n-1}/data/init-data.sh (100%) create mode 100644 apps/n8n-1/docker-compose.yml create mode 100644 apps/n8n-1/metadata/description.md create mode 100644 apps/n8n-1/metadata/logo.jpg diff --git a/apps/n8n-1/config.json b/apps/n8n-1/config.json new file mode 100644 index 00000000..8ff88958 --- /dev/null +++ b/apps/n8n-1/config.json @@ -0,0 +1,31 @@ +{ + "$schema": "../schema.json", + "name": "n8n", + "available": true, + "exposable": true, + "port": 8215, + "id": "n8n-1", + "tipi_version": 1, + "version": "1.27.2", + "categories": ["automation"], + "description": "n8n is an extendable workflow automation tool. With a fair-code distribution model, n8n will always have visible source code, be available to self-host, and allow you to add your own custom functions, logic and apps. n8n's node-based approach makes it highly versatile, enabling you to connect anything to everything.", + "short_desc": "Workflow Automation Tool. Alternative to Zapier", + "author": "n8n.io", + "source": "https://github.com/n8n-io/n8n", + "website": "https://n8n.io/", + "form_fields": [ + { + "type": "random", + "label": "Database Password", + "min": 32, + "env_variable": "N8N_DB_PASSWORD" + }, + { + "type": "random", + "label": "Database Non Root Password", + "min": 32, + "env_variable": "N8N_NR_DB_PASSWORD" + } + ], + "supported_architectures": ["arm64", "amd64"] +} diff --git a/apps/n8n/data/init-data.sh b/apps/n8n-1/data/init-data.sh similarity index 100% rename from apps/n8n/data/init-data.sh rename to apps/n8n-1/data/init-data.sh diff --git a/apps/n8n-1/docker-compose.yml b/apps/n8n-1/docker-compose.yml new file mode 100644 index 00000000..e001ff10 --- /dev/null +++ b/apps/n8n-1/docker-compose.yml @@ -0,0 +1,73 @@ +version: '3.7' + +services: + n8n-1: + container_name: n8n-1 + image: n8nio/n8n:1.27.2 + restart: unless-stopped + ports: + - ${APP_PORT}:5678 + volumes: + - ${APP_DATA_DIR}/data/n8n:/home/node/.n8n + environment: + - N8N_EDITOR_BASE_URL=${APP_PROTOCOL:-http}://${APP_DOMAIN} + - WEBHOOK_URL=${APP_PROTOCOL:-http}://${APP_DOMAIN} + - DB_TYPE=postgresdb + - DB_POSTGRESDB_HOST=n8n-db + - DB_POSTGRESDB_PORT=5432 + - DB_POSTGRESDB_DATABASE=n8n + - DB_POSTGRESDB_USER=n8n + - DB_POSTGRESDB_PASSWORD=${N8N_NR_DB_PASSWORD} + networks: + - tipi_main_network + links: + - n8n-db + depends_on: + n8n-db: + condition: service_healthy + labels: + # Main + traefik.enable: true + traefik.http.middlewares.n8n-web-redirect.redirectscheme.scheme: https + traefik.http.services.n8n.loadbalancer.server.port: 5678 + # Web + traefik.http.routers.n8n-insecure.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.n8n-insecure.entrypoints: web + traefik.http.routers.n8n-insecure.service: n8n + traefik.http.routers.n8n-insecure.middlewares: n8n-web-redirect + # Websecure + traefik.http.routers.n8n.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.n8n.entrypoints: websecure + traefik.http.routers.n8n.service: n8n + traefik.http.routers.n8n.tls.certresolver: myresolver + # Local domain + traefik.http.routers.n8n-local-insecure.rule: Host(`n8n.${LOCAL_DOMAIN}`) + traefik.http.routers.n8n-local-insecure.entrypoints: web + traefik.http.routers.n8n-local-insecure.service: n8n + traefik.http.routers.n8n-local-insecure.middlewares: n8n-web-redirect + # Local domain secure + traefik.http.routers.n8n-local.rule: Host(`n8n.${LOCAL_DOMAIN}`) + traefik.http.routers.n8n-local.entrypoints: websecure + traefik.http.routers.n8n-local.service: n8n + traefik.http.routers.n8n-local.tls: true + + n8n-db: + container_name: n8n-db + image: postgres:11 + restart: unless-stopped + networks: + - tipi_main_network + environment: + - POSTGRES_USER=tipi + - POSTGRES_PASSWORD=${N8N_DB_PASSWORD} + - POSTGRES_DB=n8n + - POSTGRES_NON_ROOT_USER=n8n + - POSTGRES_NON_ROOT_PASSWORD=${N8N_NR_DB_PASSWORD} + volumes: + - ${APP_DATA_DIR}/data/postgres:/var/lib/postgresql/data + - ${APP_DATA_DIR}/data/init-data.sh:/docker-entrypoint-initdb.d/init-data.sh + healthcheck: + test: ['CMD-SHELL', 'pg_isready -h localhost -U $$POSTGRES_USER -d $$POSTGRES_DB'] + interval: 5s + timeout: 5s + retries: 10 diff --git a/apps/n8n-1/metadata/description.md b/apps/n8n-1/metadata/description.md new file mode 100644 index 00000000..85a7e4ff --- /dev/null +++ b/apps/n8n-1/metadata/description.md @@ -0,0 +1,16 @@ +## Installation Notes ## + +To enable OAUTH integrations you will need to enable the "expose app" option and configure a URL in Tipi. This setting can be changed at a later date if an integration is identified that needs it. + +## Easily automate tasks across different services. + +n8n is an extendable workflow automation tool. With a fair-code distribution model, n8n will always have visible source code, be available to self-host, and allow you to add your own custom functions, logic and apps. n8n's node-based approach makes it highly +versatile, enabling you to connect anything to everything. + +![Screenshot](https://raw.githubusercontent.com/n8n-io/n8n/master/assets/n8n-screenshot.png) + +## Build with LangChain and AI in n8n +With n8n's LangChain nodes you can build AI-powered functionality within your workflows. The LangChain nodes are configurable, meaning you can choose your preferred agent, LLM, memory, and so on. Alongside the LangChain nodes, you can connect any n8n node as normal: this means you can integrate your LangChain logic with other data sources and services. + +## Available integrations +n8n has 200+ different nodes to automate workflows. The list can be found on: https://n8n.io/integrations diff --git a/apps/n8n-1/metadata/logo.jpg b/apps/n8n-1/metadata/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5e53b7837d2795a141461cb84fb5d80b2848c2e5 GIT binary patch literal 29217 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 literal 0 HcmV?d00001 diff --git a/apps/n8n/config.json b/apps/n8n/config.json index 23994688..9d9af947 100644 --- a/apps/n8n/config.json +++ b/apps/n8n/config.json @@ -1,31 +1,19 @@ { "$schema": "../schema.json", - "name": "n8n", + "name": "n8n (v0)", "available": true, "exposable": true, + "deprecated": true, "port": 8094, "id": "n8n", "tipi_version": 27, - "version": "1.27.2", + "version": "0.237.0", "categories": ["automation"], "description": "n8n is an extendable workflow automation tool. With a fair-code distribution model, n8n will always have visible source code, be available to self-host, and allow you to add your own custom functions, logic and apps. n8n's node-based approach makes it highly versatile, enabling you to connect anything to everything.", "short_desc": "Workflow Automation Tool. Alternative to Zapier", "author": "n8n.io", "source": "https://github.com/n8n-io/n8n", "website": "https://n8n.io/", - "form_fields": [ - { - "type": "random", - "label": "Database Password", - "min": 32, - "env_variable": "N8N_DB_PASSWORD" - }, - { - "type": "random", - "label": "Database Non Root Password", - "min": 32, - "env_variable": "N8N_NR_DB_PASSWORD" - } - ], + "form_fields": [], "supported_architectures": ["arm64", "amd64"] } diff --git a/apps/n8n/docker-compose.yml b/apps/n8n/docker-compose.yml index b3f2c3a9..02c7026a 100644 --- a/apps/n8n/docker-compose.yml +++ b/apps/n8n/docker-compose.yml @@ -1,30 +1,20 @@ -version: "3.7" +version: '3.7' services: n8n: container_name: n8n - image: n8nio/n8n:1.27.2 + image: n8nio/n8n:0.237.0 restart: unless-stopped ports: - ${APP_PORT}:5678 volumes: - ${APP_DATA_DIR}/data/n8n:/home/node/.n8n + command: /bin/sh -c "sleep 5; n8n start" environment: - N8N_EDITOR_BASE_URL=${APP_PROTOCOL:-http}://${APP_DOMAIN} - WEBHOOK_URL=${APP_PROTOCOL:-http}://${APP_DOMAIN} - - DB_TYPE=postgresdb - - DB_POSTGRESDB_HOST=n8n_db - - DB_POSTGRESDB_PORT=5432 - - DB_POSTGRESDB_DATABASE=n8n - - DB_POSTGRESDB_USER=n8n - - DB_POSTGRESDB_PASSWORD=${N8N_NR_DB_PASSWORD} networks: - tipi_main_network - links: - - n8n_db - depends_on: - n8n_db: - condition: service_healthy labels: # Main traefik.enable: true @@ -50,24 +40,3 @@ services: traefik.http.routers.n8n-local.entrypoints: websecure traefik.http.routers.n8n-local.service: n8n traefik.http.routers.n8n-local.tls: true - - n8n_db: - container_name: n8n_db - image: postgres:11 - restart: unless-stopped - networks: - - tipi_main_network - environment: - - POSTGRES_USER=tipi - - POSTGRES_PASSWORD=${N8N_DB_PASSWORD} - - POSTGRES_DB=n8n - - POSTGRES_NON_ROOT_USER=n8n - - POSTGRES_NON_ROOT_PASSWORD=${N8N_NR_DB_PASSWORD} - volumes: - - ${APP_DATA_DIR}/data/postgres:/var/lib/postgresql/data - - ${APP_DATA_DIR}/data/init-data.sh:/docker-entrypoint-initdb.d/init-data.sh - healthcheck: - test: ['CMD-SHELL', 'pg_isready -h localhost -U $$POSTGRES_USER -d $$POSTGRES_DB'] - interval: 5s - timeout: 5s - retries: 10 diff --git a/apps/n8n/metadata/description.md b/apps/n8n/metadata/description.md index 85a7e4ff..51eef14c 100644 --- a/apps/n8n/metadata/description.md +++ b/apps/n8n/metadata/description.md @@ -1,16 +1,12 @@ -## Installation Notes ## +This version of n8n is deprecated. Please use the latest version of n8n found in the app store. If you need to migrate your data, please follow the [migration guide](https://docs.n8n.io/1-0-migration-checklist/). + +## Installation Notes To enable OAUTH integrations you will need to enable the "expose app" option and configure a URL in Tipi. This setting can be changed at a later date if an integration is identified that needs it. -## Easily automate tasks across different services. +## Easily automate tasks across different services. -n8n is an extendable workflow automation tool. With a fair-code distribution model, n8n will always have visible source code, be available to self-host, and allow you to add your own custom functions, logic and apps. n8n's node-based approach makes it highly +n8n is an extendable workflow automation tool. With a fair-code distribution model, n8n will always have visible source code, be available to self-host, and allow you to add your own custom functions, logic and apps. n8n's node-based approach makes it highly versatile, enabling you to connect anything to everything. ![Screenshot](https://raw.githubusercontent.com/n8n-io/n8n/master/assets/n8n-screenshot.png) - -## Build with LangChain and AI in n8n -With n8n's LangChain nodes you can build AI-powered functionality within your workflows. The LangChain nodes are configurable, meaning you can choose your preferred agent, LLM, memory, and so on. Alongside the LangChain nodes, you can connect any n8n node as normal: this means you can integrate your LangChain logic with other data sources and services. - -## Available integrations -n8n has 200+ different nodes to automate workflows. The list can be found on: https://n8n.io/integrations