upgrade n8n to 1.27.2 and add pgsql db

This commit is contained in:
nrvo 2024-02-03 06:39:59 +01:00
parent 7bc2fc14a8
commit d0270102ca
3 changed files with 60 additions and 5 deletions

View File

@ -5,14 +5,27 @@
"exposable": true,
"port": 8094,
"id": "n8n",
"tipi_version": 26,
"version": "0.237.0",
"tipi_version": 27,
"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": [],
"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

@ -3,18 +3,28 @@ version: "3.7"
services:
n8n:
container_name: n8n
image: n8nio/n8n:0.237.0
image: n8nio/n8n:1.27.2
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
@ -40,3 +50,24 @@ 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