在昨天的文章中,我們成功把 FastAPI 後端微服務 透過 Dockerfile 打包並免費部署到了 Render 雲端平台,解決了商業邏輯與資料庫伺服器的常駐問題。
然而,目前整體系統中還有兩個關鍵角色跑在本地的 Docker Desktop 裡面:
只要我們的電腦關機、休眠,或是 ngrok 隧道斷線,外部的 LINE 請求依然無法送達 n8n。
今天 Day 15,我們將進入**架構全雲原生化(Cloud-Native)**的終極階段:評估並實作將 n8n 與 Dify 遷移至雲端託管平台的最佳實踐,徹底拔掉最後一根依賴本地電腦的網路線!
對於個人開發者或參賽專案來說,我們主要考量部署難度、費用(是否有免費或低成本方案)以及維運負擔:
| 方案 | 特點 | 適用情境 | 推薦指數 |
|---|---|---|---|
| Zeabur / Railway (PaaS 平台) | 支援一鍵安裝範本(Template)、自動配置 SSL 與網域、計費親民 | 想要 5 分鐘快速把 n8n 與 Dify 搬上雲端 | ⭐️⭐️⭐️⭐️⭐️ |
| Dify Cloud + n8n Cloud (官方 SaaS) | 免去任何維運與伺服器架設,點開即用 | 預算充裕、完全不想管 Docker 容器維護 | ⭐️⭐️⭐️⭐️ |
| GCP Cloud Run / AWS ECS | 無伺服器(Serverless)高擴展架構,但容器配置與冷啟動調校門檻較高 | 具備進階雲端 DevOps 經驗的企業級專案 | ⭐️⭐️⭐️ |
💡 新手與個人專案首選:
推薦使用 Zeabur 或 Railway,平台內建現成的 n8n 與 PostgreSQL 範本,免去手動寫 Dockerfile 的麻煩;而 Dify 若本地資源吃緊,亦可直接使用官方提供的 Dify Cloud(免費版具備足夠的沙盒額度)。
Zeabur 對於自動化工作流工具提供了極為友善的原生支援,並提供永久免費的 .zeabur.app 網域名稱。
[https://food-agent-n8n.zeabur.app](https://food-agent-n8n.zeabur.app)
點擊該網址即可直接打開熟悉的 n8n 介面完成帳號註冊!為了讓 n8n 正常處理 Webhook 與 Webhook Tunnel,請在 Zeabur 的 Variables 分頁加入以下變數:
WEBHOOK_URL:https://food-agent-n8n.zeabur.app/
N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS:true
Dify 由於底層包含 API、Worker、Web 介面、Redis、Vector DB 等多個微服務容器,全套本地遷移至雲端需要較多記憶體(約 2GB~4GB RAM)。
對於想追求高穩定度的開發者,最推薦的優雅途徑是直接使用 Dify Cloud(官方雲端版):
1.前往 Dify.ai 官方雲端平台 登入。
2.在工作區中點擊 建立空白應用 ➜ 選擇 聊天助手。
3.依照 Day 07 的設定,填入系統提示詞與輸出 JSON 格式規範。
4.點選「模型供應商」,填入你的 Google Gemini API Key。
5.前往「訪問 API」,取得雲端版的專屬 API Key(app-xxxxxxxx)。
6.Dify Cloud 的官方呼叫端點為標準的:
[https://api.dify.ai/v1/chat-messages](https://api.dify.ai/v1/chat-messages)
現在,我們所有的服務都已各自在雲端就位:
LINE 官方平台:負責使用者手機端聊天介面。
雲端 n8n:https://food-agent-n8n.zeabur.app(具備永久 HTTPS 網址)。
雲端 Dify 大腦:https://api.dify.ai/v1(高可用性 LLM 解析服務)。
雲端 FastAPI 微服務:https://food-agent-api-xxxx.onrender.com(常駐推薦運算核心)。
最終組裝與網址更新:
1.更新 LINE Developers Webhook URL:
進入 LINE Developers Console ➜ 進入你的 Bot 頻道 ➜ Messaging API。
將原本的 ngrok 臨時網址替換為雲端 n8n 的永久 Webhook 路徑:
[https://food-agent-n8n.zeabur.app/webhook/line-webhook](https://food-agent-n8n.zeabur.app/webhook/line-webhook)
點擊 Update 並點擊 Verify,確認跳出綠色 Success!
2.更新 n8n 中的微服務節點:
打開雲端 n8n 的工作流。
將呼叫 Dify 的節點網址改為 https://api.dify.ai/v1/chat-messages。
將呼叫 FastAPI 的節點網址改為 https://food-agent-api-xxxx.onrender.com/api/v1/recommend/。
儲存並將工作流切換為 Active。
現在你可以把本機電腦上的所有終端機視窗、PowerShell、Docker Desktop 以及 ngrok 全部關閉,甚至將電腦直接關機!
拿出你的手機,打開 LINE 聊天室:
使用者:
「我在市政府捷運站,預算 400 內想喝咖啡吃甜點,推薦一下!」
驗收成果:
即使你的電腦完全處於關機狀態,手機依然能在數秒內收到 LINE 機器人推播的 Flex Message 推薦輪播卡片,包含了即時營業店家、Google 地圖評分與導航連結!