
ZeaburSupabase は Firebase の人気なオープンソース代替です。Postgres データベース、認証、API、ファイルストレージなどのツール一式を提供し、堅牢なバックエンド基盤になります。
Zeabur はこの複雑なスタックのデプロイを簡素化します。Zeabur なら、Kong Gateway、Authentication、PostgreSQL を含むフル機能の Supabase インスタンスを、手動設定なしでワンクリックで立ち上げられます。
このチュートリアルでは、次の内容を案内します:
UI の Logs は利用不可: Supabase Studio の "Logs" 機能は動作しません(Vector サービスがないため)。各サービスのログは Zeabur ダッシュボードから確認してください。 MCP は非搭載: AI Model Context Protocol サーバーはこのテンプレートに含まれていません。
Zeabur はテンプレートマーケットプレイスからの「ワンクリックデプロイ」を提供します。
オプション 1: Project ページから Supabase インスタンスを作成する
Supabase を検索します。単体の DB と違い、Zeabur 上の Supabase は Kong Gateway を使ってアクセスを管理します。UI にログインするために認証情報を取得する必要があります。
⚠️ 警告: このテンプレートはデモ用のデフォルト API キーでデプロイされます。本番利用前に必ず新しいキーを生成してください。デフォルトキーが知られていると、誰でもあなたの DB にアクセスできてしまいます。
JWT_SECRET を作成し、ツールで次を生成します:
anon キーservice_role キーJWT_SECRET: カスタムの secretANON_KEY: 新しい anon キーSERVICE_ROLE_KEY: 新しい service_role キーセキュリティ変更を反映するために、スタック全体を再起動します:
デフォルトでは、Supabase はメール(マジックリンク、パスワードリセットなど)を送信できません。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 は実際のドメインに置き換えてください。
サービス再起動後、ターミナルから signup を手動で叩いて検証します:
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 のダッシュボードからキーをコピーしないでください。古いデフォルトキーが表示される場合があります。
用途: Lovable プロジェクトや通常の Web アプリ接続向け。
フロントエンドから Supabase バックエンドへ接続できるよう、コードベースに環境変数を設定します。
プロジェクトルートの .env を作成または開きます。
前提手順で取得した値を追加します:
VITE_SUPABASE_URL=[your-project-url]
VITE_SUPABASE_ANON_KEY=[your-anon-key]
用途: ローカルの DB 変更を本番インスタンスへ反映したい開発者向け。
接続文字列を使ってローカルの DB スキーマを Supabase に push できます。
接続文字列を取得: Zeabur ダッシュボードで Supabase スタック内の PostgreSQL サービスパネルを開きます。
コピー: PostgreSQL の接続文字列をコピーします。
実行: ターミナルで次を実行します(Supabase CLI が必要です):
supabase db push --db-url "[your-supabase-postgresql-connection-string]" --debug
Supabase と同じ Zeabur 上にアプリをデプロイする場合、デプロイ環境に認証情報を注入する必要があります。
VITE_SUPABASE_URL: Project URL を貼り付けるVITE_SUPABASE_ANON_KEY: anon 公開キーを貼り付けるヒント:
.envのような認証情報ファイルは.gitignoreに含めて、秘密情報の漏洩を防いでください。
高度な機能を有効にするには、各サービスに次の変数を追加します。
特定イベントで Postgres 関数をトリガーするために、Auth サービスに次を追加します:
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ダッシュボードの AI SQL アシスタントを有効にするには、Studio サービスに次を追加します:
OPENAI_API_KEY=your-openai-api-keyGOTRUE_EXTERNAL_SKIP_NONCE_CHECK=true(モバイルの Google Sign In に有用)GOTRUE_MAILER_SECURE_EMAIL_CHANGE_ENABLED=true(メールアドレス変更時に検証を強制)