iT邦幫忙

2025 iThome 鐵人賽

DAY 4
0
DevOps

一個n8n免費仔的踩雷告白系列 第 4

鐵人賽 day4 - 在本機裝 n8n 官網沒說清楚的事

  • 分享至 

  • xImage
  •  

Hello,我是 KK,今年的鐵人賽,想跟大家分享架設 n8n 遇到的一些挑戰跟意外,就讓我們一起學習吧。

前一天的文章 [[鐵人賽 day3 - 怎麼在本地架設 n8n]] 裡,我們試著依照官網的範例架起來 n8n (希望你有),但我大膽的推測,你應該很快就會遇到一些問題,至少我當初是這樣。
我會將我自己遇到的問題列出來,並告訴你解法。如果你有不同的環境架設問題,也歡迎留言告訴我。

Docker 版

由於前一篇文章有提到,使用 docker 安裝的好處較多,所以以下我都是假設 docker 下的狀況。

重開機後,n8n 就打不開了

我們再看一次官網給的 docker command

docker volume create n8n_data

docker run -it --rm --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n

你下完這段指令後,打開瀏覽器輸入 localhost:5678,應該就能看到 n8n 的網頁,會提示你輸入帳號密碼來註冊。這部份我們留到 [[鐵人賽 dayN - 初次見面,n8n ]] 再多說明吧。

https://ithelp.ithome.com.tw/upload/images/20250918/20161625EuSiuJS6eI.png

在 [[鐵人賽 day3 - 怎麼在本地架設 n8n#^2b13bc]] 我有提到重開機後會消失的問題,這是因為官網給的指令包含 --rm 參數,這個參數的意思是「當 container 關閉後就自動刪除」。那理所當然重開機導致 container 被關閉,它自然就會消失了,此時再開啟一次 localhost:5678 就什麼都看不到了。
所以處理起來也很簡單,就是把 --rm 刪除,這樣原本的 container 就會保留。

不過如果你是 windows 安裝 docker desktop 的話,預設重開機後是不會啟動的,所以記得要打開 desktop,或是設定開機後自動啟動。
簡單來說,就是從設定 -> General -> [ ] Start Docker Desktop when you sign in to your computer ,開啟這個功能。
https://ithelp.ithome.com.tw/upload/images/20250918/20161625PNJ5vx6xcV.png

外部連線

雖然 n8n 大部份功能都是呼叫外部服務為主,但有時候我們想要的功能會用到 webhook ,讓外部服務能呼叫 n8n。一個常見的例子是 Telegram 的對話監聽,背後的機制就是用 Telegram 的 setWebhook。

簡單來說,webhook 讓外部服務能連回你主機上運行的 n8n。由於現代的作業系統通常都會預設開啟防火牆,因此首先我們需要調整防火牆設定。

以 Windows 11 為例:
系統 -> 隱私權與安全性 -> Windows 安全性 -> 防火牆與網路防護
進入 Windows 安全性,並選擇防火牆與網路防護,然後關閉防火牆
https://ithelp.ithome.com.tw/upload/images/20250918/20161625z1Td5PFxDf.pnghttps://ithelp.ithome.com.tw/upload/images/20250918/201616259CJHoqhEvE.pnghttps://ithelp.ithome.com.tw/upload/images/20250918/20161625zewNfBufd7.png

將防火牆關閉只是第一步,第二步則是最好要有一個固定 IP,不然重開機後你的 IP 被換掉,webhook 很有可能需要重新設定。

不過固定 IP 以台灣來說,要看自家的網路提供商,如果沒有的話怎麼辦呢?
這時候我們就需要藉助像 ngrok 這樣的服務來解決這個問題了。ngrok 能夠為我們的主機建立一個固定的外部網址,即使我們的 IP 位址更換了,也能讓外部服務順利找到 n8n
讓我們在下一篇 [[鐵人賽 day5 - 架設 n8n 的好朋友 ngrok]] 來好好聊聊吧。 ^4a414f


上一篇
鐵人賽 day3 - 怎麼在本地架設 n8n
系列文
一個n8n免費仔的踩雷告白4
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言