Vercel
Deploy the Nitro console with Vercel Node functions.
Prerequisites
Complete Basics first, with adapters that run in Node.
Import your repository
Import your private console repository, or link your local checkout:
npx vercel linkUse the console checkout as the root directory and keep the detected package manager.
Set the build
Select Other as the framework preset and Node.js 22 or later. Set this as the build command:
npm run buildAdd NITRO_PRESET=vercel as a build environment variable. Nitro generates .vercel/output; keep the generated server functions and static assets together.
Set runtime variables
Choose the production domain. Add the authentication variables and your backend credentials to the project's Production environment.
Set BETTER_AUTH_URL to that domain's HTTPS origin and register the matching OAuth callback. Use server variables, without a VITE_ prefix.
Deploy and check
Deploy from the dashboard or your linked checkout:
npx vercel deploy --prodOpen the production URL and follow Verify the deployment.
Use Download manifest in a bundle's details and verify manifest.json.
The console streams the manifest through the function when a storage adapter
handles its URI; otherwise, public HTTP(S) manifest URLs redirect to storage.
Vercel's payload and execution limits
apply to responses streamed through the function. This action does not download
the JavaScript bundle or its assets; verify OTA delivery with the
app update workflow.
Preview URLs need matching OAuth callbacks and BETTER_AUTH_URL. Otherwise, use sign-in only on the production origin.
Push updates through the same Git workflow. To restore console code, promote a previous Vercel deployment; backend data is unaffected by that rollback.