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.
- Set the database in
hub.db. The NuxtHub database docs list the options. - Generate and commit the migrations for that dialect (Database).
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_SECRETas above. - Set
NUXT_ACL_ADMINS. Or give the first admin theadminrole, 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
- Modules – look up every module you add from here on.
- UX patterns – follow the shared patterns as you add screens.
- Add an admin page – build your first screen of your own.
- Contribute – work on Frigear itself.