
ZeaburSupabase adalah alternatif open-source populer untuk Firebase. Supabase menyediakan rangkaian alat seperti database Postgres, autentikasi, API, dan penyimpanan file—menjadikannya solusi backend yang kuat.
Zeabur menyederhanakan deployment stack yang kompleks ini. Dengan Zeabur, Anda dapat meluncurkan instance Supabase yang berfungsi penuh (termasuk Kong Gateway, Authentication, dan PostgreSQL) hanya dengan satu klik tanpa konfigurasi manual.
Dalam tutorial ini, kami akan memandu Anda untuk:
Tidak ada Logs di UI: Fitur "Logs" di Supabase Studio tidak akan berfungsi (karena service Vector tidak ada). Anda harus mengecek log melalui dashboard Zeabur untuk tiap service. Tidak ada MCP: Server AI Model Context Protocol tidak disertakan dalam template ini.
Zeabur menyediakan "one-click deployment" melalui marketplace template.
Opsi 1: Membuat instance Supabase dari halaman Project
Supabase.Berbeda dengan database standalone, Supabase di Zeabur menggunakan Kong Gateway untuk mengelola akses. Anda perlu mengambil kredensial untuk login ke UI.
⚠️ PERINGATAN: Template ini ter-deploy dengan API key default untuk keperluan demo. Anda HARUS membuat key baru sebelum digunakan untuk produksi, atau siapa pun yang mengetahui key default dapat mengakses database Anda.
JWT_SECRET kustom dan gunakan tool tersebut untuk menghasilkan:
anon.service_role.JWT_SECRET: Secret kustom Anda.ANON_KEY: Key anon baru Anda.SERVICE_ROLE_KEY: Key service_role baru Anda.Untuk menerapkan perubahan keamanan ini, Anda harus me-restart stack:
Secara default, Supabase tidak dapat mengirim email (magic link, reset password). Anda perlu mengonfigurasi provider SMTP. Kami merekomendasikan Resend, namun provider SMTP mana pun bisa.
GOTRUE_SMTP_HOST: smtp.resend.com (atau provider Anda)GOTRUE_SMTP_PORT: 587GOTRUE_SMTP_USER: resend (atau username Anda)GOTRUE_SMTP_PASS: re_123... (API Key Anda)GOTRUE_SMTP_ADMIN_EMAIL: noreply@yourdomain.comGOTRUE_SITE_URL: https://your-project-domain.zeabur.app (tautan redirect untuk pengguna)Untuk mengaktifkan Google Login, tambahkan variable berikut ke service 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/callbackCatatan: Pastikan Anda mengganti your-project.zeabur.app dengan domain Anda yang sebenarnya.
Setelah service restart, verifikasi konfigurasi dengan memicu signup secara manual via terminal:
curl -X POST "https://your-project.zeabur.app/auth/v1/signup" \
-H "Content-Type: application/json" \
-H "apikey: YOUR_ANON_KEY" \
-d '{
"email": "test@example.com",
"password": "yourpassword"
}'
Hasil yang diharapkan:
200 OK.test@example.com (cek spam).GOTRUE_SITE_URL sama persis dengan domain yang Anda deploy.Penting: Jangan menyalin key dari dashboard Supabase Studio, karena bisa menampilkan key default lama.
Cocok untuk: Menghubungkan project Lovable atau aplikasi web standar.
Untuk mengaktifkan komunikasi antara aplikasi frontend dan backend Supabase Anda, Anda perlu mengatur environment variable di codebase.
Buat atau buka file .env di root project Anda.
Tambahkan kredensial dari langkah Prasyarat:
VITE_SUPABASE_URL=[your-project-url]
VITE_SUPABASE_ANON_KEY=[your-anon-key]
Cocok untuk: Developer yang ingin mendorong perubahan database lokal ke instance produksi.
Anda dapat mendorong skema database lokal ke Supabase menggunakan connection string.
Ambil Connection String: Buka panel service PostgreSQL (bagian dari stack Supabase) di dashboard Zeabur.
Salin: Salin connection string PostgreSQL.
Jalankan perintah: Jalankan perintah berikut di terminal (pastikan Supabase CLI sudah terpasang):
supabase db push --db-url "[your-supabase-postgresql-connection-string]" --debug
Saat Anda mendeploy aplikasi Anda ke Zeabur berdampingan dengan Supabase, Anda harus menyuntikkan kredensial ke environment deployment.
VITE_SUPABASE_URL: Tempel URL Project Anda.VITE_SUPABASE_ANON_KEY: Tempel public key anon Anda.Petunjuk: Pastikan file kredensial seperti
.envada di.gitignoreuntuk mencegah kebocoran secret.
Tambahkan variable berikut ke service tertentu untuk mengaktifkan fitur lanjutan.
Tambahkan ini ke variable service Auth untuk memicu fungsi Postgres pada event tertentu:
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_attemptAktifkan asisten SQL AI di dashboard dengan menambahkan ini ke variable service Studio:
OPENAI_API_KEY=your-openai-api-keyGOTRUE_EXTERNAL_SKIP_NONCE_CHECK=true (Berguna untuk Google Sign In di mobile)GOTRUE_MAILER_SECURE_EMAIL_CHANGE_ENABLED=true (Wajibkan verifikasi email saat mengganti alamat email)