stackapRequest access

Migrate

Migrate from Vercel

Moving an app from Vercel to Stackap, with the database staying where it is, means deploying the code to a new project, recreating its variables and crons, and then changing one DNS record.

Who this is for

This is the shorter move: the app changes host and nothing else does. The database, if there is one, stays with its current provider and the app keeps connecting to it. If your database is on Supabase and you want it to move too, read the combined guide instead.

The deploy half of this was exercised on a copy of a real Next.js site, whose domain now points at Stackap.

Take inventory first

What does not move automatically

Preview deployments
There are none. Use a second project as staging.
Edge and serverless functions
Routes that run at the edge or as separate functions have to run inside the app on a container.
Vercel-only storage products
Anything stored in a Vercel product must be moved to the project's own database or storage first.
Dashboard-only rules
Headers, redirects and rewrites defined outside the repository must be recreated in the app's own configuration.
Analytics
Stackap shows server-side load time, not browser analytics.

How to know it worked

Going back

Keep the Vercel project until Stackap has carried real traffic for a while. Going back is pointing the DNS record at the old address.

Run only one copy of anything that sends messages or charges money. Two live copies would do it twice.

Steps

  1. Create the project. Create a project on Stackap and add its git remote to your repository.
  2. Set the variables. Set public values first, because they are baked into the build, then secrets, each with stackap env set from standard input.
  3. Deploy to the automatic address. Run stackap deploy and read the build log. Visit <slug>.stackap.com.
  4. Compare. Open the old and new sites side by side and compare pages, including ones that read from the database.
  5. Import crons. Run stackap cron import with your vercel.json. Do not stop the old ones yet.
  6. Attach the domain. Run stackap domains add and create the A record it shows, after lowering the record's cache lifetime a day earlier.
  7. Switch and stop the old schedules. Once traffic is on Stackap, disable the cron jobs on Vercel so jobs run once.

Early-access scope

Questions

Does the database need to move too?
No. The app can keep using its current database, though distance to it affects speed.
Will Vercel crons still run after I switch?
Yes, until you disable them. Do that deliberately, or every job runs twice.

Stackap is in early access. Tell us what you run and we will reply with a straight answer about whether it fits.

Ask for an invitation

Last updated .