Migrate from Vercel
Moving from Vercel to Ownkube is mostly deploying your Next.js app as a Web deployment with a real, long-running server, adding a managed Postgres database if you used a Vercel storage add-on, and copying your environment variables. This guide walks the cutover, including the database dump and restore.
If your project is a static-only site with no backend, it deploys the same way, just without the database step below.
For a side-by-side of the two platforms, see Ownkube vs Vercel.
What moves
Section titled “What moves”| On Vercel | On Ownkube |
|---|---|
| Next.js project (SSR / serverless functions) | A Web deployment running Next.js in standalone output mode |
| Vercel Postgres or another storage add-on | A managed PostgreSQL database |
| Vercel Cron | A Job deployment with a schedule |
| Environment Variables | Environment variables on the deployment |
| Production / Preview domains | A public hostname with automatic TLS, plus your custom domain |
Migrate your app
Section titled “Migrate your app”-
Connect your repo
Connect your GitHub or GitLab account so Ownkube can build from the same repo. See Registries.
-
Set Next.js to standalone output
Ownkube runs your app as a persistent server rather than per-route serverless functions. In
next.config.js, setoutput: 'standalone'so the build produces a self-contained server Ownkube can run directly. -
Create a Web deployment
From your dashboard, create a Web deployment, point it at your repo and branch, and set the port your app listens on (Next.js defaults to
3000). Ownkube builds from source, or uses yourDockerfileif you have one. -
Copy your environment variables
Bring over the values from your Vercel project’s Environment Variables. Add them as
KEY=valuepairs and flip Secret on the sensitive ones. See Environment variables.
Migrate your database
Section titled “Migrate your database”If your app used Vercel Postgres or a similar storage add-on, bring the data over. Skip this section if your project has no database.
-
Create a managed Postgres database
Add a Database (PostgreSQL) in the same environment as your app. Ownkube generates credentials and injects
DATABASE_URLinto your app. See Databases. -
Dump from your Vercel storage add-on
Using the connection string from your Vercel storage add-on’s dashboard, dump the data:
Terminal window pg_dump "$VERCEL_POSTGRES_URL" --no-owner --no-privileges -Fc -f dump.pgc -
Restore into Ownkube
Turn on public access for the new database (temporarily), then restore into it with TLS verification on:
Terminal window pg_restore --no-owner --no-privileges \-d "postgresql://user:pass@db-yourname.ownkube.app:5432/app?sslmode=verify-full&sslnegotiation=direct" \dump.pgcTurn public access back off when the restore finishes. For production traffic, connect from inside the network.
Cut over
Section titled “Cut over”- Verify on Ownkube. Open the generated hostname, exercise the app, and confirm it renders, reads, and writes the migrated database.
- Move your domain. Point your custom domain at the Ownkube deployment. TLS is provisioned and renewed automatically.
- Decommission Vercel once traffic is served from Ownkube and you’ve confirmed a clean window.
Want your own cloud later?
Section titled “Want your own cloud later?”You can start on Ownkube Compute and, if you ever want your own data boundary or your own bill, connect an AWS account and run the same app in your own VPC with no second migration. See Clusters.