
N8N v2 工作流程自動化平台,配備工作程序和外部任務執行器以實現安全代碼執行

N8N v2 是一個強大的工作流程自動化平台,可以幫助你連接不同的服務並自動化任務。此模板包含:
此模板使用外部任務執行器 - N8N 推薦的生產環境設置,用於在 Code 節點中執行代碼:
使用 N8N v2,你可以:
工作程序 + 任務執行器設置確保您的自動化任務得到可靠且安全的處理。
OFFLOAD_MANUAL_EXECUTIONS_TO_WORKERS=true + queue 模式後,主 N8N 實例永不啟動 5679 連接埠的任務代理——所有執行(手動和生產)都卸載至 Worker。N8N-Runners 一直卡在「Waiting for task broker to be ready」,毫無作用。同時從 N8N 服務移除了 taskbroker 連接埠(5679)和 N8N_RUNNERS_BROKER_LISTEN_ADDRESS。僅保留 Worker-Runners(Worker 確實執行代理)。N8N_RUNNERS_TASK_BROKER_URI 從 http://Worker:5679 改為 http://${WORKER_BROKER_HOST}:5679。Zeabur 的叢集內 DNS 解析的是 service-<id> 主機名稱,而非 Worker 這樣的裸服務名稱——執行器一直卡在「Waiting for task broker to be ready」,Code 節點逾時 60 秒。Worker 服務現在透過 ${CONTAINER_HOSTNAME} 公開內部主機名稱(WORKER_BROKER_HOST)供執行器使用。(N8N_RUNNERS_ENABLED 在 n8n v2 已棄用,故不設定——見官方文件。)N8N_PROTOCOL=https。n8n 從 ${N8N_PROTOCOL}://${N8N_HOST}/... 建構 $execution.resumeUrl;缺少通訊協定時 URL 格式錯誤,每個節點(Set、Switch、Code 等)都會拋出 TypeError: Invalid URL。${ZEABUR_WEB_DOMAIN} / ${ZEABUR_WEB_URL} 在其容器中未設定。現在改用 ${N8N_WEBHOOK_HOST} / ${N8N_WEBHOOK_URL}(由 N8N 服務新公開)作為 N8N_HOST 和 WEBHOOK_URL。postgres:18 — 因應新版 data-dir 結構,volume 改掛載於 /var/lib/postgresql)TASK_RUNNERS_AUTH_TOKEN 變數(此令牌會自動產生,並在服務之間自動共用)spec 內部移至服務層級),確保正確的啟動順序N8N_RUNNERS_ENABLED 環境變數(N8N v2 預設已啟用任務執行器)Runners 拆分為 N8N-Runners(連接 http://N8N:5679)和 Worker-Runners(連接 http://Worker:5679),符合官方 n8n docker-compose 架構,每個 n8n 實例配備獨立的 Runnertask-runners 服務作為 n8n-worker 的 sidecar 容器N8N_RUNNERS_MODE=external 以提供更好的安全性和性能TASK_RUNNERS_AUTH_TOKEN 變數用於安全的中介-執行器認證此更新確保您的 N8N v2 工作流程使用外部任務執行器安全運行,遵循 N8N 生產部署的最佳實踐。
N8N_ENCRYPTION_KEY 的能力,以確保主實例和工作程序的加密密鑰同步⚠️ 重要:如果您正在使用此模板的舊版本,請更新到此版本以避免可能的加密密鑰同步問題。
注意:此模板啟用了關鍵的環境變數以防止未來的相容性問題:
N8N_RUNNERS_MODE=external:使用外部任務執行器容器(生產環境推薦)而非內部子進程。
OFFLOAD_MANUAL_EXECUTIONS_TO_WORKERS=true:在擴展模式下於主實例執行手動工作流程的方式已被棄用。未來版本中,手動執行將轉由工作程序處理。此設定為此變更做好準備。
了解更多關於任務執行器的信息:https://docs.n8n.io/hosting/configuration/task-runners/
如在 Deploy 時遇到任何問題,可以到 Github issue 告訴我,我會盡力解決: https://github.com/glasschan/seafoodholdhand-zeabur-templates