n8n install local with docker compose ( PostgreSQL )
在前篇n8n平台使用SQLite 存放憑證、歷史執行紀錄和工作流程的database。參考官網也可以使用PostgreSQL使用database,根據官方github及PostgreSQL資料修改為個人環境使用。
主機環境
Ubuntu 24.04.3 LTS
Docker version v28.5.1
Docker compose version v2.40.3
N8n version 1.116.2 (1.118.1)
PostgreSQL version 17
安裝過程
1.使用者目錄建立n8n-postgres、n8n_data目錄及.env設定檔
將n8n_data目錄掛載到/home/node/.n8n目錄,當container重啟動後資料可以保留。
mkdir n8n-postgres/n8n_data/ -p
新建.env設定檔存放相關參數 (PostgreSQL user and password ),執行docker compose會自動帶入。
vim n8n-postgres/.env
---
POSTGRES_USER=<changeUser>
POSTGRES_PASSWORD=<changePassword>
POSTGRES_DB=n8n
POSTGRES_NON_ROOT_USER=<changeUser>
POSTGRES_NON_ROOT_PASSWORD=<changePassword>
---
建立docker-compose.yml
cd n8n-postgres
vim docker-compose.yml
---
services:
n8n:
image: n8nio/n8n:1.116.2
container_name: n8n
ports:
- "5678:5678"
environment:
- GENERIC_TIMEZONE=Asia/Taipei
- TZ=Asia/Taipei
- N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
- N8N_RUNNERS_ENABLED=true
- N8N_SECURE_COOKIE=false
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=postgres
- DB_POSTGRESDB_PORT=5432
- DB_POSTGRESDB_DATABASE=${POSTGRES_DB}
- DB_POSTGRESDB_USER=${POSTGRES_NON_ROOT_USER}
- DB_POSTGRESDB_PASSWORD=${POSTGRES_NON_ROOT_PASSWORD}
ports:
- 5678:5678
links:
- postgres
volumes:
- ./n8n_data:/home/node/.n8n
depends_on:
postgres:
condition: service_healthy
postgres:
image: postgres:17
container_name: postgres
environment:
- POSTGRES_USER
- POSTGRES_PASSWORD
- POSTGRES_DB
- POSTGRES_NON_ROOT_USER
- POSTGRES_NON_ROOT_PASSWORD
volumes:
- ./db_data:/var/lib/postgresql/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
volumes:
n8n_data:
db_data:
---
2.啟動服務
啟動n8n、PostgreSQL服務
sudo docker compose up -d
啟動過程會依n8n、PostgreSQL啟動
檢查n8n、PostgreSQL服務
sudo docker compose ps -a
ss -ntlp
ls -la
ls -l n8n_data/
3.問題解決
原本使用n8n最新版本1.118.2,出現Connection lost無法連線PostgreSQL的訊息
You have a connection issue or the server is down.
n8n should reconnect automatically once the issue is resolved.
查詢網站無法有效解決。後來發現n8n 版本1.116.2可以正常使用,先用此版本進行測試。
沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。