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
--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
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:
---
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中執行任務的建議方式
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檢查n8n服務
sudo docker compose ps -a
ss -ntlp
ls -l n8n_data/
過程已直接安裝Sqlite資料庫,資料庫位置在container的 ~/.n8n/database.sqlite4.進入登入頁面
登入時如果出現此畫面是本機沒有申請ssl方式連線,需增加N8N_SECURE_COOKIE=false參數,方便測試使用
修改docker-compose.yml
重新啟動n8n服務
sudo docker compose down
sudo docker compose up -d
sudo docker compose down
sudo docker compose up -d
成功看到註冊面,直接設定帳號資料,密碼要8位數以上,要有數字和大寫字母。
如果要使用Community Edition 功能,請輸入正確的email方便收到註冊碼。
5.登入畫面
此畫面可以直接按get started跳過。
申請Community Edition License key,填入email就可以收到未輸入 license key輸入 license key啟動後註冊後即可解鎖社群版(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
自訂執行資料 :儲存、尋找和註解執行元數據
資料夾 :將您的工作流程整理到整齊的資料夾中
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
您的環境變數有棄用風險。請依照以下建議更新您的配置:
- DB_SQLITE_POOL_SIZE -> 在沒有讀取連線池的情況下執行 SQLite 已被棄用。請將 `DB_SQLITE_POOL_SIZE` 設定為大於零的值。
依官方說明環境變數增加以下設定。
---
- DB_SQLITE_POOL_SIZE=1
---











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