cartwright
Deployment

Go Live

The full path from a scaffolded Cartwright shop to a live store on your own domain.

You have a shop running on localhost. Going live is four steps: deploy it, point a domain at it, verify your email domain, then check it over. Each step has its own guide — this page is the map.

Brand new to GitHub + Vercel?

The "deploy it" step assumes you've put your code on GitHub and connected Vercel. If that's new to you, do From code to live first — a beginner, no-terminal walkthrough — then come back here for domain + email.

The admin setup runbook at /admin/integrations tracks the same checklist inside your shop, including a Deployment og domæne section, so you can tick it off as you go.

1. Deploy

Push the shop to a host. Vercel is the default — it auto-detects Next.js and wires cron jobs and the AI gateway into the deploy.

Deploying to Vercel

2. Add a custom domain

A fresh deploy lives on a *.vercel.app URL. Point your own domain at it (DNS records + automatic SSL), then update NEXT_PUBLIC_APP_URL so links, Open Graph tags and canonical URLs all resolve to the real host.

Custom domain

3. Verify your email domain

Transactional mail — receipts, magic-link sign-in, order updates — sends through Resend. Until the sending domain is verified (SPF + DKIM), production mail is rejected: the order completes but the customer never receives the receipt.

Email via Resend

4. Verify the shop

Once the domain is live, walk the runbook at /admin/integrations — it flags any missing Stripe, email, monitoring or deployment step before real customers hit them.

  • Hit /api/mcp with no Authorization header — you should get the JSON tool-surface intro.
  • Place a test order end to end with the Stripe test card 4242 4242 4242 4242.
  • Confirm the receipt email arrives.

That is a live Cartwright shop — on your own domain, owned end to end.

On this page