用 Docker + Ngrok 本地部署 n8n:自動化工具快速上手筆記

用 Docker + Ngrok 本地部署 n8n:自動化工具快速上手筆記

n8n、Docker、Ngrok 教學:在 Windows 本地部署 n8n,設定 Ngrok 靜態網域公開連線;含 BIOS 虛擬化排錯、環境變數與掛載、首次啟用與進階功能、.env+docker-compose 一鍵升級。

📋 文章目錄

什麼是 n8n?為什麼值得一試?

n8n 是一個開源的自動化工具(有點像免費的 Zapier),可以幫你整合各種工具、API、流程,讓你不寫程式也能建立工作流程。


用 Docker 部署 n8n 的原因與優勢解析

想像一下,一個程式就像是一道料理所需的食材,那麼 Docker 就是一個整裝好的便當盒:裡面除了有程式本身(主菜),還包含運行它所需要的系統(白飯)與環境設定(調味料)。

使用 Docker 的最大好處是:你可以把整套程式環境「打包」好,交給別人,他們打開就能馬上使用,不需要再一個個安裝依賴、配置環境。這對於像 n8n 這類需要多個元件運行的工具來說,省時又省心。


安裝 Docker Desktop

  1. 前往 Docker 官網
  2. 下載 Windows 版本並安裝
  3. 安裝時建議勾選「 使用 WSL2 」
  4. 安裝完成後重開機,啟動 Docker Desktop

Docker 啟動錯誤?教你進 BIOS 啟用虛擬化技術( Intel / AMD 都適用 )

Docker 20Desktop 20 20Unexpected 20WSL 20error

解決方法

步驟 1

  1. 重新開機 → 進入 BIOS(通常是開機時按 DelF2

步驟 2

路徑一(Intel 處理器常見):

  1. 點上方的「進階」頁籤(英文是 Advanced)
  2. 找一個選項叫 CPU Configuration
  3. 裡面應該會有一項:
    • Intel Virtualization Technology → 把它改成 Enabled

路徑二(AMD 處理器常見):

  1. 也是點「進階」> Advanced
  2. 進去找 CPU Features 或 SVM Mode
    • SVM Mode → 改成 Enabled

SVM 20Mode 20 20Enabled


Ngrok 安裝教學:如何註冊帳號與下載工具

  1. 前往 Ngrok 官方網站
  2. 註冊一個免費帳號
  3. 登入後,在你的帳戶 Dashboard 裡找到下載區
  4. 下載對應你系統的 Ngrok 執行檔並安裝

📌 小提醒:先完成下載就好,接下來我們會回到 Docker 安裝 n8n 的步驟,等 n8n 跑起來再來設定 Ngrok。

Download 20Ngrok


如何用 Docker 安裝 n8n 並搭配 Ngrok 配置公開連線(完整圖解教學)

在 Docker 上安裝 n8n 並設定公開連線:

1. 搜尋並拉取映像檔

  • 開啟 Docker Desktop,進入 Images
  • 搜尋 n8nio/n8n → 按下 Pull,等待完成後按 Run

n8nio

2. 設定 Optional Settings

Optional 20Settings 20( 20Ngrok 20)

  • 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

ngrok 20link

4. 啟動容器

  • 所有設定完成後,點選 Run,n8n 服務就會啟動

Optional 20Settings 20( 20Ngrok 20) 20 20Run

📌 當它跑完出現 Ngrok 的給的網址 = 完成

第一次登入 n8n

  • 系統會要求你輸入帳號資訊並提示是否啟用「進階功能」
  • 這些進階功能(如 workflow history、execution search)平常只在雲端付費版才有
  • 只要輸入 Email 就會收到一組 License Key,一次啟用,終身使用
功能說明
Workflow history可以回朔你過去 24 小時改過的流程版本
Advanced debugging可以查看流程錯誤當下的狀態,更方便除錯
Execution search查找以前跑過的流程記錄、加標籤整理
Folder 結構可以用資料夾管理 workflow,不再全塞一起

📌 非常建議申請,因為對本地部署來說,這些功能真的很加分,而且完全免費。

完成安裝

  • 成功註冊後會看到「Start from scratch」按鈕
  • 點選即可開始使用 n8n 編輯流程介面

E7 A2 BA E8 AA 8D E7 95 AB E9 9D A2


Ngrok 靜態網域設定教學:讓 n8n 對外公開只要 7 步驟

  1. 先下載並開啟 Windows Terminal
  2. 輸入以下指令
    (黃色部份需要自行更改為你存放 Ngrok 的資料夾)
    (這裡我把 Ngrok.zip 放在 E:\automation-tools
cd E:\automation-tools

automation tools
3. 在 Ngrok 你的帳號裡複製這一段 Token 貼到 Windows Terminal
(在前面加上 ./
ngrok 20token
4. 以我的例子是這樣
Win 20Ter 20 20ngrok 20config
5. 成功後會出現一個檔案叫 ngrok.yml
ngrok yml
6. 再次回去 Ngrok 網站複製 Static Domain 並輸入在 Windows Terminal
(記得前面加 ./
(把最後的 80 換成你之前指定的 Port)
(我這邊的例子為 leopard-related-bird.ngrok-free.app,Port 是 5555
ngrok 20domain
7. 成功畫面會顯示 Ngrok 提供的公開網址
windows 20termianl 20 E5 AE 8C E6 88 90

📌 現在所有人 / Webhook 都可以透過指定 Domain 探訪你的 n8n 工作流


進階部署:用 .env + docker-compose.yml 管理 n8n 全套設定

你已經用 Docker Desktop 成功跑起來 n8n,那現在來解鎖進階操作:
把所有設定寫進 .envdocker-compose.yml,好處是:

✅ 更新 n8n,超簡單

以前升級要整個重設環境,現在?
只要打開 .yml 檔,把 image: n8nio/n8n:1.89.2 改成新版 → 1.90.0
再跑 docker-compose up -d,就升級好了,設定值通通保留,不用再按一次 UI。

✅ 一套設定,複製貼上就能部署

你只要複製 .envdocker-compose.yml 到另一台電腦,
就能「召喚」出一模一樣的 n8n 工作環境,
不管你電腦壞掉、換設備、還是想快速複製一套 workflow,通通一指搞定。

步驟 1:用記事本建立 .env 檔案

  1. 開啟記事本
    開始選單搜尋「記事本」或用快捷鍵 Win + R 輸入 notepad
  2. 貼上設定內容
    (黃色區域需要你自行填寫)
# 指定 ngrok 靜態網址(必須已在 ngrok 設定過)
NGROK_URL=https://leopard-related-bird.ngrok-free.app

# n8n 對外開放的 Port
N8N_PORT=5555

# 本地 workflow 存放路徑(會掛進容器)
DATA_PATH=E:/n8n-local

env 20 E5 85 A7 E5 AE B9
3. 另存新檔並且放在你想要的位置
檔案名必須為 .env(不是 env,是 .env),記得選 All Files(不要存成 .txt 檔)
E8 A8 98 E5 BE 97 E9 81 B8 E6 93 87 20all 20files

步驟 2:建立 docker-compose.yml 檔(一鍵部署 n8n)

  1. 用記事本貼上這段設定:
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
  1. 另存檔案為 docker-compose.yml必須.env 同一個資料夾,記得選 All Files
    yml 20 E6 AA 94

步驟 3:一鍵啟動 n8n

  1. 先刪除你之前在 Docker 設定好的 Containers
    (不要怕,之後的動作會自動裝回來)
  2. 開啟 Windows Terminal
  3. 切換到你放 .envdocker-compose.yml 的資料夾(黃色部分請自行更改)
cd E:\automation-tools
  1. 啟動 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 關掉,但不會刪掉你的 .envdocker-compose.ymlE:\n8n-local 裡的資料。

下次重新 up 就會原封不動回來。

步驟 2:關閉 Ngrok 隧道

如果你是在 Windows Terminal 開的 Ngrok,直接按下鍵盤的:

Ctrl + C

畫面就會停止,代表隧道已經關閉,外面的人無法再訪問 Ngrok 網址。

小筆記:關機前需要關掉嗎?

  • 建議有空就手動關一下,雖然重開機會自動停掉,但這樣比較乾淨。
  • 除非你有設「開機自啟動」,不然都得自己再跑一次來開機。