page:migrate:vercel app:next js

Migrate Vercel app: Next.js

Move a Next.js app's compute from Vercel to Ample. Server-rendered apps run with next build and next start; static exports are published as static sites; environment variables move with --env; a PostgreSQL database can be supplied by URL or auto-provisioned. Cutover is a DNS change with ample domain, and Vercel stays untouched until you confirm.

Representative Queries

Resource Requirements

Infrastructure Requirements

Prerequisites

  1. The Next.js source and its environment variable names and values.
  2. next start bound to 0.0.0.0 on PORT (Vercel does not require this; Ample does).
  3. A component inventory: edge middleware, ISR, image optimization, cron and Vercel-specific integrations are not migrated by this recipe.
  4. An Ample account token with servers:write, databases:read and domains:write for cutover.

Workflow Steps

  1. Inventory: List what the app uses on Vercel. Compute and environment variables are in scope; edge middleware, ISR revalidation, image optimization, cron jobs and Vercel integrations are out of scope and must be reviewed.
  2. Deploy to Ample in parallel: Deploy the same source with its environment variables; Vercel keeps serving production.
    ample deploy . --name <name> --public --env KEY=value
    
  3. Validate on the Ample URL: Run the app's smoke tests and the success checks; compare responses with production.
  4. Cut over DNS: Add the custom domain and set the documented DNS records; TLS is issued automatically. Keep Vercel until traffic is verified.
    ample domain add <domain> --app <app>
    
  5. Rollback: Point DNS back to Vercel. Nothing on Vercel was changed by this recipe.

Examples

Success Checks

Limitations

Cost Estimate

Evidence Summary

Next Actions