簡要概述:
本文旨在教您如何在 Hugging Face Spaces 上零成本部署 n8n 自動化平台。我們將採用社群優化的 Docker 映像檔,並強制透過環境變數,將 n8n 的核心資料(如 Workflow 與 Credentials)寫入 Supabase (PostgreSQL)。
此架構巧妙地實現了「運算」與「儲存」分離的高效免費輕量化方案。它徹底解決了 Hugging Face Spaces 免費層容器重啟後資料遺失的痛點,確保您的自動化流程能夠透過 Supabase 資料庫獲得永久且可靠的儲存。
✅ 優點 (Pros)
公網存取 (Public URL):
這是最大的優勢。你立刻擁有一個 https://... 的網址。
Webhook 友善: 外部服務(如 Line, Telegram, Stripe, GitHub)可以直接把資料推送到你的 n8n,不需要繁瑣的穿透設定 (Tunneling)。
隨處編輯: 你可以在公司、家裡或手機上登入 n8n 進行編輯。
免硬體維護:
不需要擔心電腦關機、斷電或網路中斷的問題。Hugging Face 的基礎設施相對穩定。
零成本入門:
Hugging Face 的免費層級 (Free Tier) 提供基本的 CPU (2 vCPU) 和 RAM (16GB),對個人自動化來說相當大方。
詳細步驟 :
1. 準備 Supabase 資料庫 (作為永久記憶體)
操作目的: n8n 預設使用 SQLite,容器重啟後資料會消失。我們需要一個雲端 PostgreSQL 資料庫來保存您的自動化流程與憑證。
步驟描述:
登入(or 註冊) Supabase ,會需要建立 Organization,Name可以自己取,其餘設定則維持預設,最後按下 Create organization 。見下圖紅框處,以下皆同。
建立一個新專案 (Create a new project )。
Project name 可以自己取。
設定資料庫密碼 (Database Password) 並妥善保存,稍後無法再次查看。
選擇 Region。
Create new project。
等待資料庫建立完成後,點擊 Connect 按鈕 (中上方)。
會進入Connect to your project 頁面
選 Connection String 分頁
Method 選擇 Transaction pooler
點擊中間的 View parameters 來查看詳細的連線參數
關鍵資訊擷取: 請記下以下資訊(稍後需填入 Hugging Face):
Port: 6543
Database: postgres
User: postgres.Project ID
Password: (您剛設定的密碼)
2. 複製 Hugging Face Space (運算核心)
操作目的: 使用 baoyin2024/n8n-free 這個專為 Hugging Face 優化的 Docker 映像檔,它解決了權限與 Port 對應的問題。
方法:
前往來源 Space:https://huggingface.co/spaces/baoyin2024/n8n-free
點擊右上角的 三點選單 -> Duplicate this Space,接著會出現參數設置頁。
Owner: 選擇您的帳號。
Space Name: 取個您喜歡的名字 (例如 my-n8n-engine)。
Visibility: 可以選擇設為 private (私有),因為 n8n 包含敏感憑證。但只有設為 public (公開) 時,Webhook 才能正常運作。
繼續往下設定環境變數 (核心連接設定)。依下表設置,其餘使用預設值。
滑到最底部,點擊 Duplicate Space。
3. 部署與初始化
操作目的: 讓設定生效並啟動 n8n。
方法:
設定完所有變數後,Hugging Face 通常會自動開始部署。觀察啟動過程。
如果沒有看到啟動過程,可以點擊上方的 Logs 標籤。
關鍵訊號: 當您在 Container 中看到 Editor is now accessible via : https://Owner-space name.hf.space 時,代表成功連線到 Supabase 並啟動。
連到 https://Owner-space name.hf.space
Set up owner account : 設定帳號、姓名與密碼。
Customize n8n to you (自行填寫,最後按下 Get started )
Get paid features for free (forever) : 這裡是可以得到一些進階功能,只要按下右下方 Send me a free license key 按鈕,再到 E-mail 中按下 Activate Llicense Key 按鈕即可。
可以開始 Create your first workflow
注意事項與疑難排解
Hugging Face 的休眠機制:
免費版的 Spaces 在 48 小時無活動後會進入「休眠 (Sleep)」。
影響: Webhook 觸發可能會延遲(因為需要冷啟動時間,約 30-60 秒)。
解法: 由於資料在 Supabase,休眠重啟不會遺失資料。若需要 24/7 即時響應,建議升級 HF Pro 方案。
Encryption Key 的重要性:
N8N_ENCRYPTION_KEY 千萬不能遺失。如果您重建 Space 但想保留 Supabase 裡的資料,必須使用完全相同的 Key,否則 n8n 無法解密資料庫中儲存的 API Keys (Credentials)。
升級與備份:
雖然使用外部資料庫,但仍建議定期在 n8n 介面中使用 "Export Workflows" 功能下載備份,以防萬一。
參考資源
n8n 官方 Docker 環境變數列表: n8n Environment Variables
Supabase 資料庫連線指南: Supabase Database Documentation
Hugging Face Spaces 文件: Hugging Face Spaces Docs
沒有留言:
張貼留言