Documentation

Guides and references

Getting Started

Deploying to Vercel

Deploy NextBento to Vercel.

Prerequisites

  • NextBento project with all services configured (Supabase, Stripe, Resend)
  • GitHub account
  • Vercel account (vercel.com)

1. Push to GitHub

git add .
git commit -m "Initial commit"
git remote add origin https://github.com/your-username/your-repo.git
git push -u origin main

2. Import Project in Vercel

  1. Go to vercel.com/new
  2. Import your GitHub repository
  3. Vercel will auto-detect Next.js — no build config needed
  4. Click Deploy (it will fail without env vars — that's expected)
Vercel — import GitHub repository

3. Add Environment Variables

In your Vercel project: SettingsEnvironment Variables

Add all variables from your .env.local:

  • Supabase (3 vars)
  • Stripe (9 vars: keys + 6 price IDs)
  • Resend (1 var)
  • NEXT_PUBLIC_APP_URL — Set to your Vercel URL, e.g. https://your-app.vercel.app
Tip

Use Production, Preview, and Development as needed. At minimum, set Production.

Vercel Settings → Environment Variables

4. Redeploy

After adding env vars, go to DeploymentsRedeploy the latest deployment.

5. Configure Stripe Webhook (Production)

  1. Go to Stripe DashboardDevelopersWebhooks
  2. Add endpoint
  3. URL: https://your-app.vercel.app/api/webhooks/stripe
  4. Events: checkout.session.completed, customer.subscription.updated, customer.subscription.deleted, invoice.paid, invoice.payment_failed
  5. Copy the signing secret and add to Vercel env vars as STRIPE_WEBHOOK_SECRET
  6. Redeploy

6. Configure OAuth Callbacks

Note

For Google and GitHub OAuth, update the callback URLs in each provider's dashboard:

  • Google Cloud Console — Add https://your-app.vercel.app/api/auth/oauth to authorized redirect URIs
  • GitHub OAuth App — Set callback URL to https://your-app.vercel.app/api/auth/oauth
  • SupabaseAuthenticationURL ConfigurationRedirect URLs — add the same URL
Supabase Authentication → URL Configuration → Redirect URLs

7. Custom Domain (Optional)

  1. In Vercel: SettingsDomains
  2. Add your domain and follow DNS instructions
  3. Update NEXT_PUBLIC_APP_URL to your custom domain
  4. Update Stripe webhook URL and OAuth callbacks to use the custom domain

Deploy Checklist

  • All env vars added to Vercel
  • NEXT_PUBLIC_APP_URL set to production URL
  • Stripe webhook endpoint created for production URL
  • OAuth callbacks updated for production URL
  • Resend domain verified (if using custom domain for emails)

Next Steps