Get Started

Deployment

Checklist for taking a Frigear app to production, and where to go next.

What you'll have afterwards:

  • Your app running in production on the hosting platform you chose, such as Cloudflare, Vercel or a Node server.
  • A production database with the same tables as your local one.
  • Real emails instead of logged ones.

A local app keeps secrets in .env, prints emails in the terminal and stores data in a SQLite file. Production needs each of these replaced. This page lists what to change before you deploy.

Prerequisites

An app that runs locally, from Installation to Database.

1. Pick the production database

Every module ships its schema for SQLite and PostgreSQL. So you can deploy to Cloudflare D1, libSQL/Turso or PostgreSQL.

2. Set the production environment

Set NUXT_APP_SECRET in your hosting platform's environment to a new random value of at least 32 characters (openssl rand -base64 32). It seals the session cookie, and Nuxt only generates one in development. Never reuse the one in your local .env. Keep NUXT_SESSION_PASSWORD too if Forms or stored OAuth tokens already use it as their encryption key.
  • Set NUXT_APP_SECRET as above.
  • Set NUXT_ACL_ADMINS. Or give the first admin the admin role, and empty the list.
  • Configure a real Notify driver, so password resets are sent instead of logged.
  • Set the environment variables of each module you added, such as the Stripe keys.

3. Build locally first

Run the production build on your machine before you deploy:

pnpm build
pnpm preview
What you should see:pnpm build finishes without errors, and pnpm preview serves the built app.

4. Deploy

Nuxt builds for the hosting platform you choose with a Nitro preset. The Nuxt deployment docs list the preset for each platform.

An example. The Frigear website app builds with the cloudflare_module Nitro preset and ships to Cloudflare Workers. Pushing to main deploys to production and applies the D1 migrations. Every pull request gets its own preview with its own D1 database.

You now have an app with sign-in, an admin area and a database, in production.

Next steps

Copyright © 2026