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 00000000..5e53b783 Binary files /dev/null and b/apps/n8n-1/metadata/logo.jpg differ 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