前言:什麼是 n8n?
n8n 是一個開源的工作流程自動化工具,讓你可以連接不同的應用程式和服務,建立自動化流程。想像一下:當你收到重要郵件時自動發送 LINE 通知、定期備份照片到雲端、監控商品價格變化等等,這些都可以透過 N8N 輕鬆實現。
為什麼選擇 Docker 部署?
傳統方式就是通通要自己來!
- 需要安裝 Node.js 和 npm
- 版本相容性問題
- 依賴套件衝突
- 權限設定複雜
- 移除困難(你永遠不知道到你還有什麼依賴沒移除乾淨,直到你某天要安裝其他程式發生一堆依賴的衝突)
Docker 真香,規格通通幫你弄
- 一行指令即可啟動
- 環境隔離,不污染系統
- 版本管理簡單
- 跨平台一致性
- 完全移除容易(一言不合就刪光光)
不是有官方版本嗎?
- 零維護但需要魔法小卡(€20;危)
- 現沒有支援自定義 npm ,像是如果要使用 axios(HTTP 請求)、lodash(處理資料)等相關生態系統都無法使用
不過作為輕量的學習指南,我想太過複雜的問題就不在這裡討論,那麼我們開始吧
第一步:安裝 Docker Desktop
下載與安裝
- 前往 Docker Desktop 官方網站
- 點擊「Download for Mac」
- 根據你的 Mac 晶片選擇版本:
- Intel 晶片:選擇 Intel 版本
- Apple Silicon (M1/M2/M3):選擇 Apple Chip 版本
安裝步驟
- 開啟下載的
.dmg
檔案 - 將 Docker 拖曳到 Applications 資料夾
- 從 Applications 啟動 Docker Desktop
- 同意使用條款(個人使用完全免費)
完成安裝設定
選擇設定方式:
- 建議選擇「Use recommended settings」
- 系統會要求輸入密碼(正常程序)
- 等待 Docker 完成初始化
網路權限設定:
- 當詢問是否允許尋找區域網路裝置時,選擇「拒絕」
- 個人使用不需要此權限
驗證安裝
開啟 Terminal,輸入:
docker --version
如果顯示版本資訊(如 Docker version 28.3.0
),表示安裝成功。
第二步:設定資料持久化
為什麼需要資料持久化?
臨時模式的問題:
- 容器停止時,所有資料消失
- 工作流程、設定、API 金鑰全部遺失
- 每次重啟都需要重新設定
持久化的好處:
- 資料永久保存
- 重啟後保留所有設定
- 可以備份和還原
建立專用資料目錄
選擇一個容易管理的位置存放 n8n 資料:
# 建立資料夾(以 Documents 為例)
cd ~/Documents
mkdir .n8n
關於隱藏資料夾:
- 以
.
開頭的資料夾在 macOS 中是隱藏的 - 在 Finder 中按
Cmd + Shift + .
可顯示隱藏檔案 - 也可以建立一般資料夾如
n8n-data
第三步:啟動 n8n
完整啟動指令
cd ~/Documents
docker run -d --restart=unless-stopped --name n8n -p 5678:5678 -v $(pwd)/.n8n:/home/node/.n8n n8nio/n8n
核心執行部分
docker run
→ 建立並啟動新容器
n8nio/n8n
→ N8N 官方映像檔
n8nio
:官方帳號n8n
:軟體名稱- 預設拉取最新版本
容器行為設定
-d
(detached) → 背景執行
- 不佔用終端機
- 執行後回到命令提示符
--restart=unless-stopped
→ 重啟策略
- 異常停止時自動重啟
- 開機時自動啟動
- 手動停止時才不重啟
--name n8n
→ 容器命名
- 之後可用
docker stop n8n
管理 - 不設定會產生隨機名稱
網路連接設定
-p 5678:5678
→ 連接埠映射
- 格式:
本機連接埠:容器連接埠
- 讓你能透過
localhost:5678
存取 - 左邊可以改成其他連接埠(如
-p 8080:5678
)
-p 本機連接埠:容器連接埠
-p 5678:5678
↑ ↑
│ └── Docker 容器內的 n8n 服務運行在 5678
└────── 你電腦上開放的連接埠 5678
- 容器內的 5678:房子裡的電話分機
- 你電腦的 5678:房子外面的門牌號碼
- 連接埠映射:就是「按這個門牌 → 會響那個分機」
資料持久化設定
-v $(pwd)/.n8n:/home/node/.n8n
→ Volume 掛載
$(pwd)
:取得當前目錄路徑$(pwd)/.n8n
:你電腦上的資料夾:/home/node/.n8n
:容器內的 N8N 資料目錄- 效果:兩邊資料夾同步
Volume 掛載原理
簡單理解: Volume 掛載就像在你的電腦和 Docker 容器之間建立一個「同步資料夾」。
你的電腦 Docker 容器
Documents/.n8n/ ←→ /home/node/.n8n/
├── workflows.json ├── workflows.json
├── settings.json ├── settings.json
└── database.sqlite └── database.sqlite
實際效果:
- 容器內建立的檔案會出現在你的電腦上
- 你刪除電腦上的檔案,容器內也會消失
- 重啟容器時,資料從你的電腦載入
第四步:初始設定 n8n
開啟 n8n 介面
在瀏覽器中前往:http://localhost:5678
可能遇到的問題: 如果看到 "secure cookie" 錯誤,試試:
- 使用 Chrome 或 Firefox(避免使用 Safari)
建立管理員帳號
設定 Owner Account:
- First name:你的名字
- Last name:你的姓氏
- Email:登入用的電子郵件
- Password:設定安全密碼
重要提醒:
- 這個帳號資訊只存在你的電腦上
- 不會傳送到 n8n 官方伺服器
- 忘記密碼可能需要重新設定整個系統
其他補充管理指令
常用的 Docker 管理指令:
# 查看運行狀態
docker ps
# 停止 n8n
docker stop n8n
# 重新啟動
docker start n8n
# 查看日誌
docker logs n8n
完成!
你的 n8n 已經準備就緒。現在前往 http://localhost:5678
開始建立你的第一個自動化工作流程。
接下來: 在後續文章中,我們將深入探討 N8N 的實際應用,包括:
- 建立你的第一個工作流程
- 實用的自動化場景範例
- 其他工程問題(重要!)
- YAML v.s config 設定選擇
看到這裡是不是在想...
「咦?其他教學都要安裝一大堆東西,這篇怎麼這麼簡單?是不是漏了什麼?」
別擔心,這是故意的!
「反工具焦慮」
在程式世界裡,有種病叫「工具收集症候群」:
- 看到新工具就想裝
- 覺得工具越多越專業
- 花90%時間設定,10%時間實作
但 n8n 不一樣!
n8n 的魅力就在於「用瀏覽器點點拖拖就能自動化世界」。我的想法是盡可能簡化一切程式並以實作為主。
工具是僕人,不是主人。先學會用 n8n 解決問題,再來煩惱要用什麼不足的地方和工具逐步優化。
準備好開始你的自動化之旅了嗎?我們下篇文章見!如果在安裝過程中遇到任何困難,歡迎直接聯繫我討論!