目錄
最近想為部落格建自動化工作流程,但n8n雲端版本並不在我的預算之內,於是就想到用Google Cloud免費抵用金租主機自架n8n的方式,省掉跑自動化流程的部份費用。在這篇自架n8n教學,我將分享如何做到零成本架設n8n,自架n8n與雲端方案的部署差異及成本分析,幫助你了解自行部署n8n的流程。
自架n8n和n8n雲端版本的差異
n8n的雲端版本的收費以執行次數為單位,Starter計劃收費為每月20歐元有2.5k執行次數的限制,而Pro計劃收費為每月50歐元有著10k執行次數的限制。使用雲端版本的話,所有的資料都會存在n8n的官方雲端,好處就是一鍵搞定,不用複雜的設定,但壞處則是有著執行次數的限制和固定月費。

自架n8n則完全免費,無任何執行次數的限制,但需要自行架設,負責主機安全和資料備份的維護。n8n可以架在本地(是的,在電腦裡),VPS伺服器(如GCP, AWS, Hostinger等)或透過Railway等PaaS平台進行託管。
自架n8n的部署成本
主機
自架的主要成本為租用主機的費用,透過如Google Gloud, AWS, Hostinger等主機商租一台VPS,費用約在5-15美元/每月(視乎主機的規格而定)。

如果使用量不多的話可以考量架在Railway等平台,架設的難度和費用相較於VPS要低,也不用自行購買網域。如果你對這個架設方案感興趣的話,歡迎留言告訴我,未來會針對這個架設方式寫教學文章。

網域
除了主機之外,另外一個成本就是網域了,有了網域才能申請免費的SSL憑證,啟用HTTPS加密連線。n8n本身預設要求HTTPS和大部分第三方平台都要求 Webhook 回調網址必須是HTTPS才能使用。網域的費用豐儉由人,可以用低至1美元一年的網域,或者你本身已擁有的網域的子網域都可以。

免費自架n8n教學前程提要
這次分享流程以「完全免費」架設為出發點,主機的費用是以Google Cloud的免費額度扺用(Google Cloud會送新用戶300美元的免費額度,使用限期為期三個月),也沒有專門為架設n8n而購買網域。
重要提醒:此教學只適合想要嘗試自架n8n流程,VPS架設,安裝docker等測試和學習,如果你打算長期以此自架的方式使用n8n跑工作流程,請務必使用加密網址存取n8n帳戶,否則你的帳號密碼及API Key等敏感資料會在傳輸過程中以明文暴露,存在被攔截的風險,也無法建立Webhook接收資料。
免費自架n8n教學
GCP租VPS流程
第一步是到Google Cloud租一台VPS,在Google Cloud新增帳號並新增專案,然後點擊建立VM。

設置VM的參數,建議選擇台灣地區,e2-small的機器。以Ubuntu為作業系統(對Docker支援度最高),並把磁碟大小改為20GB。

防火牆勾選允許HTTP流量及允許HTTPS流量,然後點擊建立。

如果你希望提高安全性,可以建立防火牆規則,只允許你自己當前網絡的IP存取port 5678 (n8n登錄)。但由於我有使用VPN的關係就沒有建立此規則,有需要的話可以參考以下的Claude設置說明截圖。
注意:網絡的IP並非固定,若你經常在不同地點(或用VPN)使用n8n,每次換網絡都需要更新防火牆規則

VM建立成功後,把外部IP記下來,等一下我們就是用這串IP去存取n8n的。

安裝docker
點擊SSH按鈕進入Terminal,然後逐一輸入以下的指令,安裝Docker。

要一行一行輸入,每行按Enter後等它完成後再輸入下一行。
更新系統:
sudo apt update && sudo apt upgrade -y
安裝docker:
curl -fsSL https://get.docker.com | sudo sh
把帳號加入Docker的使用者群組:
sudo usermod -aG docker $USER
套用變更:
newgrp docker
確認Docker是否可以正常運行:
docker version

如果你看到以上訊息,就代表著Docker安裝成功了。
架設n8n
Docker安裝完成後就可以開始架設n8n了,同樣的逐一輸入以下的指令,安裝n8n。
到n8n資料夾:
cd ~/n8n
建立n8n設定檔:
nano docker-compose.yml

接下會進入到nano文字編輯器,在底部的是快捷鍵的提醒。
貼上以下內容 (以滑鼠右鍵貼上,在終端中Ctrl+V沒法用)
services:
n8n:
image: n8nio/n8n
restart: always
ports:
- "5678:5678"
environment:
- N8N_HOST=0.0.0.0
- N8N_PORT=5678
- N8N_PROTOCOL=http
- GENERIC_TIMEZONE=Asia/Hong_Kong
volumes:
- n8n_data:/home/node/.n8n
volumes:
n8n_data:

然後按Ctrl+X退出,遇上跳出的問題按Y鍵,然後再按Enter確認。
回到終端輸入以下指令,啟動n8n。
啟動n8n:
docker compose up -d
你應該會看到以下的畫面,表示n8n下載完成並成功啟動了。

建立防火牆規則
接下來回到Google Cloud找到防火牆政策,再點頂部的「建立防火牆規則」按鈕,然後按照以下設定填寫建立規則。(如果你之前有設定只有你的網絡IP可以存取port 5678的規則的話,可以忽略這個步驟。)


注意:這個設定意味著允許任何人都可以連到port 5678,任何人都可以看到你的n8n登入頁面。必須要在n8n設定高強度的密碼,保障帳戶安全。
然後回到終端,輸入指令: nano ~/n8n/docker-compose.yml 打開記事本,
找到”- GENERIC_TIMEZONE=Asia/Hong_Kong”這一行指令,然後在其下面加入以下指令:
- N8N_SECURE_COOKIE=false

完成後按Ctrl+X退出,並按Y鍵及Enter儲存。
啟動n8n
輸入以下指令重啟n8n:
cd ~/n8n && docker compose up -d
打開瀏覽器,輸入 http://外部IP:5678 (把外部IP這幾個字改成之前你記下來的那一串IP)

自架n8n完成了! 接下來就在n8n帳戶設定頁面,填寫資料登記帳號,就可以開始使用了。
重要提醒: 必須改一個高強度的密碼並把密碼記下來,如果用此自架的方式而忘記密碼的話,必須透過指令強制重設密碼,可沒有雲端服務的「忘記密碼」選項喔
結語
好了,自架n8n的教程就到這裡。我未來打算把n8n工作流程進行備份及搬遷主機等主題,整理成教學文章。如果你正在考慮自架n8n或想降低跑自動化流程的成本,歡迎有空來本網站逛逛或追蹤斜槓地圖的脆(Threads),未來我會在網站和脆上分享更多關於自動化和n8n工作流程的內容。
如果你是第一次接觸Google Cloud平台並感到操作有一點難上手的話,建議可以先從以下這兩個較簡單的專案開始,先熟悉Google Cloud的版面操作,再來嘗試這個專案!
