Clouzark

Migrate from Vercel

Bring Vercel projects over with one command.

clouzark import vercel reads your Vercel projects and recreates them on Clouzark: the GitHub repo, build settings, environment variables, custom domains, and cron jobs. It runs on your machine: your Vercel token is only sent to Vercel's API.

export VERCEL_TOKEN='<token from vercel.com/account/tokens>'

clouzark import vercel --dry-run          # pick projects, show the plan, change nothing
clouzark import vercel                    # pick and import
clouzark import vercel --team arius --project web --project admin -y

In the dashboard: New Project → Import from Vercel. Paste the token, pick the account or team and projects, review the plan (variable names only; values never reach the browser), and import. The token is used for that import only and isn't stored.

The Clouzark GitHub app needs access to each project's repo. If it doesn't have it yet, the import says so; install it from New Project, then run the command again.

What's copied

From VercelTo Clouzark
GitHub repo, root directory, production branchA new hosting project building the same repo
Framework presetNext.js, React (Vite, Create React App), static, or Node (Express, Hono, Fastify, NestJS)
Install, build, and output commandsThe same commands
Environment variables for production and previewEnvironment variables, saved before the first build
Custom domainsAdded to the project, with the DNS records to point at Clouzark when you're ready to switch
crons in vercel.jsonCron jobs

The first production build starts as soon as each project is created. Your Vercel deployment keeps running until you move the DNS, so you can check the Clouzark build first.

What isn't

  • Projects not connected to a GitHub repo, and frameworks Clouzark doesn't build yet (for example SvelteKit, Nuxt, Remix, Astro with SSR). The plan lists them.
  • Sensitive variables, whose values Vercel never reveals: add them with clouzark env add.
  • Development-only variables and ones scoped to a single preview branch.
  • Domains that redirect or are assigned to a branch.
  • Vercel-only services such as Edge Config, KV, Blob, and Vercel Postgres. To move a Supabase database too, see Migrate from Supabase.

Cron endpoints should check Authorization: Bearer $CRON_SECRET; set CRON_SECRET with clouzark env add after the import.

On this page