Merge branch 'nrvo-n8n-pg-upgrade'

This commit is contained in:
Nicolas Meienberger 2024-02-13 20:46:16 +01:00
commit fe0351e61d
8 changed files with 140 additions and 6 deletions

31
apps/n8n-1/config.json Normal file
View File

@ -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"]
}

View File

@ -0,0 +1,11 @@
#!/bin/bash
set -e;
if [ -n "${POSTGRES_NON_ROOT_USER:-}" ] && [ -n "${POSTGRES_NON_ROOT_PASSWORD:-}" ]; then
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
CREATE USER ${POSTGRES_NON_ROOT_USER} WITH PASSWORD '${POSTGRES_NON_ROOT_PASSWORD}';
GRANT ALL PRIVILEGES ON DATABASE ${POSTGRES_DB} TO ${POSTGRES_NON_ROOT_USER};
EOSQL
else
echo "SETUP INFO: No Environment variables given!"
fi

View File

@ -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

View File

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

View File

@ -1,11 +1,12 @@
{
"$schema": "../schema.json",
"name": "n8n",
"name": "n8n (v0)",
"available": true,
"exposable": true,
"deprecated": true,
"port": 8094,
"id": "n8n",
"tipi_version": 26,
"tipi_version": 27,
"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.",

View File

@ -1,4 +1,4 @@
version: "3.7"
version: '3.7'
services:
n8n:

View File

@ -1,10 +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)