Vercel runs your Next.js app as serverless and edge functions. Miget runs the same app as one long-running Node server started with next start. Your pages and API routes live inside a single persistent process, and you deploy from GitHub with automatic PR previews. This guide maps your Vercel setup onto Miget and walks you through the move.

What maps to Miget

On VercelOn Miget
Serverless Next.js functionsLong-running Next.js app (next start)
Preview DeploymentPR preview via GitHub integration
Vercel PostgresMiget managed PostgreSQL
Vercel KVMiget Valkey (Redis-compatible)
Environment VariablesMiget environment variables

Migration steps

1

Deploy the Next.js app

Follow the Next.js quickstart. Miget auto-detects Node from your package.json, and next start binds to the injected PORT=5000. Connect your repository through the GitHub integration for auto-deploy on push and PR previews - the equivalent of Vercel preview deployments.
You do not need a custom server file. Keep your existing build and start scripts; Miget runs next start against the injected PORT.
2

Move your data

Provision Miget PostgreSQL to replace Vercel Postgres and Valkey to replace Vercel KV. Both inject connection strings for you: DATABASE_URL for PostgreSQL and REDIS_URL for Valkey.Migrate your existing Postgres data with pg_dump from your Vercel database and pg_restore into the Miget database.
3

Set environment variables

Copy your Vercel Environment Variables into Miget as environment variables. DATABASE_URL, REDIS_URL, and PORT are injected automatically, so read them from the environment rather than hardcoding values.
4

Point your domain

Add your custom domain and let Miget issue TLS automatically. See custom domains for DNS records and verification.
This is a model change, not just a host change. On Vercel each request runs in an isolated serverless or edge function; on Miget your whole app runs as one long-running Node process. That means no per-request cold starts, but you now manage a persistent server: in-process state persists between requests, and you should watch memory and connections over time. Background work is a long-running part of your app or a scheduled cron job, not a per-invocation serverless function.

Next steps

Next.js quickstart

Deploy your Next.js app on Miget from scratch.

GitHub integration

Set up auto-deploy and PR previews.

Managed PostgreSQL

Provision a database and read DATABASE_URL.

Valkey

Add a Redis-compatible cache via REDIS_URL.

Environment variables

Manage secrets and config for your app.

Fair Scheduler

Understand how Miget shares compute across your apps.