Step 3 of 4

Deploy Your Store

Put your store online so customers can visit it. Vercel hosts your site for free with automatic HTTPS.

You'll need a free Vercel account, your keys from Steps 1 & 2, and optionally a domain name · Estimated time: 10–15 min

1. Connect Your Repository

  1. Go to vercel.com/new
  2. Click Import Git Repository (or Add New → Project)
  3. Find your ShipCommerce repository in the list and click Import
  4. Vercel will automatically detect that it's a Next.js project

2. Add Your Keys

Before clicking deploy, expand Environment Variables and add all the keys you saved from Steps 1 and 2. Environment variables are just configuration values your store reads when it starts — things like your database address and payment keys.

# From Step 1 (Supabase)
NEXT_PUBLIC_SUPABASE_URL=https://abcdefghijk.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIs...
SUPABASE_SERVICE_ROLE_KEY=eyJhbGciOiJIUzI1NiIs...

# Your store URL (update after adding your domain)
NEXT_PUBLIC_APP_URL=https://your-project.vercel.app

# From Step 2 (Stripe)
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_live_abc123...
STRIPE_SECRET_KEY=sk_live_abc123...
STRIPE_WEBHOOK_SECRET=whsec_abc123...

# Email (from resend.com)
RESEND_API_KEY=re_abc123...
RESEND_FROM_EMAIL=hello@yourstore.com

# File uploads
BLOB_READ_WRITE_TOKEN=vercel_blob_...

These are example values — use your own keys, not these.

How to add each variable: Type the name (e.g. NEXT_PUBLIC_SUPABASE_URL) in the "Name" field, paste your value in the "Value" field, then click Add. Repeat for each variable.

3. Click Deploy

  1. Click Deploy
  2. Wait 2–5 minutes for the build to finish
  3. When done, you'll see a link like your-project.vercel.app
  4. Click it — your store is live!

4. Add Your Domain (Optional)

If you have a custom domain (e.g. yourstore.com):

  1. In Vercel, go to your project → Settings → Domains
  2. Click Add Existing, type your domain in the search field, select Connect to an environment → Production, then click Save
  3. Vercel will show you DNS records to add at your domain provider:
    TypeNameValue
    A@76.76.21.21
    CNAMEwwwcname.vercel-dns.com
  4. Wait 5–30 minutes for the domain to connect

5. Update Your URLs

After your domain is connected, update these settings:

  1. Vercel: Go to Settings → Environment Variables → update NEXT_PUBLIC_APP_URL to your domain
  2. Supabase: Go to Authentication → URL Configuration → update Site URL to your domain
  3. Stripe: Update your webhook endpoint URL to use your domain
  4. Redeploy: In Vercel, go to Deployments → click the three dots on the latest → Redeploy

Checklist

  • Store deployed and accessible
  • Custom domain connected (if applicable)
  • URLs updated in Supabase and Stripe

Was this step clear?