什麼是 n8n?為什麼值得一試?
n8n 是一個開源的自動化工具(有點像免費的 Zapier),可以幫你整合各種工具、API、流程,讓你不寫程式也能建立工作流程。
用 Docker 部署 n8n 的原因與優勢解析
想像一下,一個程式就像是一道料理所需的食材,那麼 Docker 就是一個整裝好的便當盒:裡面除了有程式本身(主菜),還包含運行它所需要的系統(白飯)與環境設定(調味料)。
使用 Docker 的最大好處是:你可以把整套程式環境「打包」好,交給別人,他們打開就能馬上使用,不需要再一個個安裝依賴、配置環境。這對於像 n8n 這類需要多個元件運行的工具來說,省時又省心。
安裝 Docker Desktop
- 前往 Docker 官網
- 下載 Windows 版本並安裝
- 安裝時建議勾選「 使用 WSL2 」
- 安裝完成後重開機,啟動 Docker Desktop
Docker 啟動錯誤?教你進 BIOS 啟用虛擬化技術( Intel / AMD 都適用 )
解決方法
步驟 1
- 重新開機 → 進入 BIOS(通常是開機時按
Del
或F2
)
步驟 2
路徑一(Intel 處理器常見):
- 點上方的「進階」頁籤(英文是 Advanced)
- 找一個選項叫 CPU Configuration
- 裡面應該會有一項:
Intel Virtualization Technology
→ 把它改成 Enabled
路徑二(AMD 處理器常見):
- 也是點「進階」> Advanced
- 進去找 CPU Features 或 SVM Mode
SVM Mode
→ 改成 Enabled
Ngrok 安裝教學:如何註冊帳號與下載工具
- 前往 Ngrok 官方網站
- 註冊一個免費帳號
- 登入後,在你的帳戶 Dashboard 裡找到下載區
- 下載對應你系統的 Ngrok 執行檔並安裝
📌 小提醒:先完成下載就好,接下來我們會回到 Docker 安裝 n8n 的步驟,等 n8n 跑起來再來設定 Ngrok。
如何用 Docker 安裝 n8n 並搭配 Ngrok 配置公開連線(完整圖解教學)
在 Docker 上安裝 n8n 並設定公開連線:
1. 搜尋並拉取映像檔
- 開啟 Docker Desktop,進入
Images
- 搜尋
n8nio/n8n
→ 按下 Pull,等待完成後按 Run
2. 設定 Optional Settings
- Container Name:自訂容器名稱
- Host Port:可輸入你想要的 Port(如:5678)
- Volumes:建議掛載到一個本機資料夾(這裡我安裝在:
E:\n8n-local
) - Container path:設為
/home/node/.n8n
📦 這樣即使你刪除 container,工作流程與帳號資料也不會丟失
3. 環境變數設定
N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE = true
EDITOR_BASE_URL =
你的 Ngrok 網址,開頭請加上http://
( 這裡我的是http://leopard-related-bird.ngrok-free.app/
)WEBHOOK_URL =
同上,與EDITOR_BASE_URL
相同N8N_DEFAULT_BINARY_DATA_MODE = filesystem
N8N_RUNNERS_ENABLED = true
4. 啟動容器
- 所有設定完成後,點選 Run,n8n 服務就會啟動
📌 當它跑完出現 Ngrok 的給的網址 = 完成
第一次登入 n8n
- 系統會要求你輸入帳號資訊並提示是否啟用「進階功能」
- 這些進階功能(如 workflow history、execution search)平常只在雲端付費版才有
- 只要輸入 Email 就會收到一組 License Key,一次啟用,終身使用
功能 | 說明 |
---|---|
Workflow history | 可以回朔你過去 24 小時改過的流程版本 |
Advanced debugging | 可以查看流程錯誤當下的狀態,更方便除錯 |
Execution search | 查找以前跑過的流程記錄、加標籤整理 |
Folder 結構 | 可以用資料夾管理 workflow,不再全塞一起 |
📌 非常建議申請,因為對本地部署來說,這些功能真的很加分,而且完全免費。
完成安裝
- 成功註冊後會看到「Start from scratch」按鈕
- 點選即可開始使用 n8n 編輯流程介面
Ngrok 靜態網域設定教學:讓 n8n 對外公開只要 7 步驟
- 先下載並開啟 Windows Terminal
- 輸入以下指令
(黃色部份需要自行更改為你存放 Ngrok 的資料夾)
(這裡我把Ngrok.zip
放在E:\automation-tools
)
cd E:\automation-tools
3. 在 Ngrok 你的帳號裡複製這一段 Token 貼到 Windows Terminal
(在前面加上 ./
)
4. 以我的例子是這樣
5. 成功後會出現一個檔案叫 ngrok.yml
6. 再次回去 Ngrok 網站複製 Static Domain 並輸入在 Windows Terminal
(記得前面加 ./
)
(把最後的 80
換成你之前指定的 Port)
(我這邊的例子為 leopard-related-bird.ngrok-free.app
,Port 是 5555
)
7. 成功畫面會顯示 Ngrok 提供的公開網址
📌 現在所有人 / Webhook 都可以透過指定 Domain 探訪你的 n8n 工作流
進階部署:用 .env + docker-compose.yml
管理 n8n 全套設定
你已經用 Docker Desktop 成功跑起來 n8n,那現在來解鎖進階操作:
把所有設定寫進 .env
和 docker-compose.yml
,好處是:
✅ 更新 n8n,超簡單
以前升級要整個重設環境,現在?
只要打開 .yml
檔,把 image: n8nio/n8n:1.89.2
改成新版 → 1.90.0
,
再跑 docker-compose up -d
,就升級好了,設定值通通保留,不用再按一次 UI。
✅ 一套設定,複製貼上就能部署
你只要複製 .env
和 docker-compose.yml
到另一台電腦,
就能「召喚」出一模一樣的 n8n 工作環境,
不管你電腦壞掉、換設備、還是想快速複製一套 workflow,通通一指搞定。
步驟 1:用記事本建立 .env
檔案
- 開啟記事本
開始選單搜尋「記事本」或用快捷鍵Win + R
輸入notepad
。 - 貼上設定內容
(黃色區域需要你自行填寫)
# 指定 ngrok 靜態網址(必須已在 ngrok 設定過)
NGROK_URL=https://leopard-related-bird.ngrok-free.app
# n8n 對外開放的 Port
N8N_PORT=5555
# 本地 workflow 存放路徑(會掛進容器)
DATA_PATH=E:/n8n-local
3. 另存新檔並且放在你想要的位置
檔案名必須為 .env
(不是 env
,是 .env
),記得選 All Files(不要存成 .txt
檔)
步驟 2:建立 docker-compose.yml
檔(一鍵部署 n8n)
- 用記事本貼上這段設定:
version: "3.8"
services:
n8n:
image: n8nio/n8n
container_name: n8n-local
restart: always
ports:
- "${N8N_PORT}:5678"
volumes:
- "${DATA_PATH}:/home/node/.n8n"
environment:
- EDITOR_BASE_URL=${NGROK_URL}
- WEBHOOK_URL=${NGROK_URL}
- N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true
- N8N_DEFAULT_BINARY_DATA_MODE=filesystem
- N8N_RUNNERS_ENABLED=true
- 另存檔案為
docker-compose.yml
(必須 跟.env
同一個資料夾,記得選 All Files)
步驟 3:一鍵啟動 n8n
- 先刪除你之前在 Docker 設定好的 Containers
(不要怕,之後的動作會自動裝回來) - 開啟 Windows Terminal
- 切換到你放
.env
與docker-compose.yml
的資料夾(黃色部分請自行更改)
cd E:\automation-tools
- 啟動 n8n(會自動讀取
.env
設定)
docker-compose up -d
啟動成功後,Docker 會建立新的 container,自動掛上你設定好的資料夾與環境變數。
步驟 4:手動啟動 Ngrok(讓別人也能打開你的 n8n)
📌 但如果你想讓朋友 / webhook / 自己在別台裝置上也能打開,就要用 Ngrok 來開一條「通道」。
只要打這一行(黃色部份自行更改):
.\ngrok http --url=leopard-related-bird.ngrok-free.app 5555
📌 記得你之前在
.env
裡設定的網址也要是一樣的。
小提醒:啟動順序(每天開機用)
每次你重新開機後,如果要讓整個 n8n + Ngrok 恢復運作,建議這樣做:
cd E:\automation-tools
docker-compose up -d
.\ngrok http --url=leopard-related-bird.ngrok-free.app 5555
關閉整個 n8n + Ngrok 系統
如果你要 關閉整個 n8n + Ngrok 系統(暫停用、節省資源、重啟電腦前手動收尾),只要這兩步就搞定:
步驟 1:關閉 n8n Container
docker-compose down
這會把 container 關掉,但不會刪掉你的 .env
、docker-compose.yml
或 E:\n8n-local
裡的資料。
下次重新 up
就會原封不動回來。
步驟 2:關閉 Ngrok 隧道
如果你是在 Windows Terminal 開的 Ngrok,直接按下鍵盤的:
Ctrl + C
畫面就會停止,代表隧道已經關閉,外面的人無法再訪問 Ngrok 網址。
小筆記:關機前需要關掉嗎?
- 建議有空就手動關一下,雖然重開機會自動停掉,但這樣比較乾淨。
- 除非你有設「開機自啟動」,不然都得自己再跑一次來開機。