2025年11月4日 星期二

n8n install local with docker compose (SQLITE)

n8n install local with docker compose (SQLITE)

本地主機搭建n8n測試環境,參考官網文件將原來的docker指令修改為docker compse啟動服務

docker volume create n8n_data

docker run -it --rm \
 --name n8n \
 -p 5678:5678 \
 -e GENERIC_TIMEZONE="<YOUR_TIMEZONE>" \
 -e TZ="<YOUR_TIMEZONE>" \
 -e N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true \
 -e N8N_RUNNERS_ENABLED=true \
 -v n8n_data:/home/node/.n8n \
 docker.n8n.io/n8nio/n8n

主機環境

Ubuntu 24.04.3 LTS
Docker version v28.5.1
Docker compose version v2.40.3
n8n Community Edition version 1.118.1 (n8nio/n8n)

安裝過程

1.使用者目錄建立n8n及n8n_data目錄

預計將n8n_data目錄掛載到/home/node/.n8n目錄,當container重啟動後資料可以保留。
mkdir n8n/n8n_data/ -p

建立docker-compose.yml
cd n8n
vim docker-compose.yml
---
services:
  n8n:
    image: n8nio/n8n
    container_name: n8n
    ports:
      - "5678:5678"
    environment:
      - GENERIC_TIMEZONE=Asia/Taipei
      - TZ=Asia/Taipei
      - N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
      - N8N_RUNNERS_ENABLED=true
    volumes:
      - ./n8n_data:/home/node/.n8n 
volumes:
  n8n_data:
---

2.環境變數說明

GENERIC_TIMEZONE=Asia/Taipei
GENERIC_TIMEZONE環境變數為面向調度的節點(如 Schedule Trigger node)設定正確的時區
TZ=Asia/Taipei
TZ環境變數設定系統時區,以控制date等腳本和指令回傳的內容
N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
對n8n設定檔強制執行安全文件權限
N8N_RUNNERS_ENABLED=true
啟用任務運行器,在n8n中執行任務的建議方式

3.啟動n8n服務

sudo docker compose up -d
local-install-05
檢查n8n服務
sudo docker compose ps -a
ss -ntlp
ls -l n8n_data/
local-install-06
local-install-07
過程已直接安裝Sqlite資料庫,資料庫位置在container的 ~/.n8n/database.sqlite

4.進入登入頁面

登入時如果出現此畫面是本機沒有申請ssl方式連線,需增加N8N_SECURE_COOKIE=false參數,方便測試使用
local-install-08
修改docker-compose.yml
重新啟動n8n服務
sudo docker compose down
sudo docker compose up -d
local-install-09

成功看到註冊面,直接設定帳號資料,密碼要8位數以上,要有數字和大寫字母。
local-install-10
如果要使用Community Edition 功能,請輸入正確的email方便收到註冊碼。

5.登入畫面

此畫面可以直接按get started跳過。
local-install-11
申請Community Edition License key,填入email就可以收到
local-install-12
n8n free license key mail
local-install-14
未輸入 license key
local-install-15
輸入 license key啟動後
local-install-16


註冊後即可解鎖社群版(Community Edition) 的以下功能:
Folders: Organize your workflows into tidy folders
資料夾 :將您的工作流程整理到整齊的資料夾中
Debug in editor: Copy and pin execution data when working on a workflow
在編輯器中偵錯 :在處理工作流程時複製並固定執行數據
Custom execution data: Save, find, and annotate execution metadata
自訂執行資料 :儲存、尋找和註解執行元數據

6.影片



7.後續事項

20251127 
新增環境變數
---
# Reduce saved data
# Save executions ending in errors
- EXECUTIONS_DATA_SAVE_ON_ERROR=all
# Don't save successful executions
- EXECUTIONS_DATA_SAVE_ON_SUCCESS=none
# Don't save node progress for each execution
- EXECUTIONS_DATA_SAVE_ON_PROGRESS=true
# Don't save manually launched executions
- EXECUTIONS_DATA_SAVE_MANUAL_EXECUTIONS=false

# Enable executions pruning,clear executions_data
- EXECUTIONS_DATA_PRUNE=true
- EXECUTIONS_DATA_MAX_AGE=96
- EXECUTIONS_DATA_PRUNE_MAX_COUNT=5000

# Clear SQLITE database
- DB_SQLITE_VACUUM_ON_STARTUP=true
---

20251201
啟動過程出現以下訊息
There is a deprecation related to your environment variables. Please take the recommended actions to update your configuration:
 - DB_SQLITE_POOL_SIZE -> Running SQLite without a pool of read connections is deprecated. Please set `DB_SQLITE_POOL_SIZE` to a value higher than zero. See: https://docs.n8n.io/hosting/configuration/environment-variables/database/#sqlite

20251201-1-sqlite-error

您的環境變數有棄用風險。請依照以下建議更新您的配置:
- DB_SQLITE_POOL_SIZE -> 在沒有讀取連線池的情況下執行 SQLite 已被棄用。請將 `DB_SQLITE_POOL_SIZE` 設定為大於零的值。

依官方說明環境變數增加以下設定。
---
- DB_SQLITE_POOL_SIZE=1
---

沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。