
ZeaburSupabase 是一個很受歡迎的開源 Firebase 替代方案。它提供 Postgres 資料庫、身分驗證、API 與檔案儲存等一整套工具,是一個強大的後端解決方案。
Zeabur 簡化了這個複雜技術棧的部署。透過 Zeabur,你可以一鍵啟動完整可用的 Supabase 實例(包含 Kong Gateway、Authentication、PostgreSQL),無需手動設定。
在本教學中,我們會帶你完成:
UI 無 Logs: Supabase Studio 的「Logs」功能無法使用(因缺少 Vector 服務)。你必須在 Zeabur 控制台查看各服務的日誌。 無 MCP: 本模板不包含 AI Model Context Protocol 伺服器。
Zeabur 透過模板市集提供「一鍵部署」。
選項 1:從專案頁面建立 Supabase 實例
Supabase。與單獨的資料庫不同,Zeabur 上的 Supabase 透過 Kong Gateway 管理存取。你需要先取得憑證才能登入 UI。
⚠️ 警告: 此模板使用預設 API key 僅供示範。正式環境中你必須生成新的 key,否則任何知道預設 key 的人都能存取你的資料庫。
JWT_SECRET,並使用工具生成:
anon keyservice_role keyJWT_SECRET: 你的自訂 secretANON_KEY: 你的新 anon keySERVICE_ROLE_KEY: 你的新 service_role key要套用這些安全變更,你必須重啟整個栈:
預設情況下,Supabase 不能寄送 Email(magic link、密碼重設等)。你需要設定 SMTP 供應商。我們推薦 Resend,但任何 SMTP 都可使用。
GOTRUE_SMTP_HOST: smtp.resend.com(或你的供應商)GOTRUE_SMTP_PORT: 587GOTRUE_SMTP_USER: resend(或你的使用者名稱)GOTRUE_SMTP_PASS: re_123...(你的 API Key)GOTRUE_SMTP_ADMIN_EMAIL: [email protected]GOTRUE_SITE_URL: https://your-project-domain.zeabur.app(使用者跳轉連結)若要啟用 Google 登入,請在 Auth 服務中新增:
GOTRUE_EXTERNAL_GOOGLE_ENABLED: trueGOTRUE_EXTERNAL_GOOGLE_CLIENT_ID: your-google-client-idGOTRUE_EXTERNAL_GOOGLE_SECRET: your-google-secretGOTRUE_EXTERNAL_GOOGLE_REDIRECT_URI: https://your-project.zeabur.app/auth/v1/callback注意:請將 your-project.zeabur.app 更新為你的實際網域。
服務重啟後,可以透過終端機手動觸發註冊來驗證設定:
curl -X POST "https://your-project.zeabur.app/auth/v1/signup" \
-H "Content-Type: application/json" \
-H "apikey: YOUR_ANON_KEY" \
-d '{
"email": "[email protected]",
"password": "yourpassword"
}'
預期結果:
200 OK 的 JSON 回應[email protected] 收到驗證信(請檢查垃圾郵件)GOTRUE_SITE_URL 與實際部署網域完全一致。關鍵: 不要從 Supabase Studio 儀表板複製 keys,因為它可能顯示舊的預設 keys。
適用:連接 Lovable 專案或一般 Web 應用。
為了讓前端能與 Supabase 後端溝通,你需要在程式碼中設定環境變數。
在專案根目錄建立或打開 .env 檔案。
新增前置步驟取得的憑證:
VITE_SUPABASE_URL=[your-project-url]
VITE_SUPABASE_ANON_KEY=[your-anon-key]
適用:開發者將本機資料庫變更推送到生產實例。
你可以使用連線字串將本機 schema 推送到 Supabase。
取得連線字串: 在 Zeabur 控制台中打開 Supabase 服務栈中的 PostgreSQL 服務面板。
複製: 複製 PostgreSQL 連線字串。
執行: 在終端機執行以下命令(請先安裝 Supabase CLI):
supabase db push --db-url "[your-supabase-postgresql-connection-string]" --debug
當你在 Zeabur 與 Supabase 一起部署你的應用時,需要把憑證注入到部署環境變數中。
VITE_SUPABASE_URL: 貼上你的 Project URLVITE_SUPABASE_ANON_KEY: 貼上你的 anon 公鑰提示:請確保
.env等憑證檔已加入.gitignore,避免洩露密鑰。
將以下變數加入對應服務,以啟用進階功能。
在 Auth 服務變數中加入以下內容,以在特定事件觸發 Postgres 函數:
GOTRUE_HOOK_CUSTOM_ACCESS_TOKEN_ENABLED=trueGOTRUE_HOOK_CUSTOM_ACCESS_TOKEN_URI=pg-functions://postgres/public/custom_access_token_hookGOTRUE_HOOK_MFA_VERIFICATION_ATTEMPT_ENABLED=trueGOTRUE_HOOK_MFA_VERIFICATION_ATTEMPT_URI=pg-functions://postgres/public/mfa_verification_attemptGOTRUE_HOOK_PASSWORD_VERIFICATION_ATTEMPT_ENABLED=trueGOTRUE_HOOK_PASSWORD_VERIFICATION_ATTEMPT_URI=pg-functions://postgres/public/password_verification_attempt在 Studio 服務變數中新增以下內容,以啟用 AI SQL 助手:
OPENAI_API_KEY=your-openai-api-keyGOTRUE_EXTERNAL_SKIP_NONCE_CHECK=true(適用於行動裝置 Google Sign In)GOTRUE_MAILER_SECURE_EMAIL_CHANGE_ENABLED=true(變更 Email 時強制驗證)