Skip to content

Production Checklist

Before you deploy NuxtBase, confirm that your target environment matches the template’s actual runtime shape.

The current NuxtBase template expects:

  • Node.js 22
  • one package manager: pnpm >=10 recommended, npm, or yarn
  • PostgreSQL
  • a Nuxt server runtime, not just static file hosting

This matters because the codebase includes:

  • server API routes
  • auth flows
  • billing and webhook handlers
  • AI endpoints
  • Nitro scheduled tasks

Do not treat this template as a pure nuxt generate marketing deployment.

For your first production deployment, keep resources conservative.

Based on our Coolify test, a practical minimum is:

  • memory: at least 3.5 GB

If you deploy below that, expect higher risk during:

  • dependency installation
  • Nuxt build may cause Out of Memory (OOM) errors
  • cold starts
  • runtime spikes from server-side work

Before launch, verify:

  • DATABASE_URL
  • BETTER_AUTH_SECRET
  • BETTER_AUTH_URL
  • NUXT_PUBLIC_SITE_URL

Then verify every enabled provider is fully configured as a pair or set:

  • Google OAuth client ID and secret
  • GitHub OAuth client ID and secret
  • Stripe secret, publishable key, webhook secret, and price IDs
  • email driver and matching credentials
  • storage credentials if using s3 or r2
  • AI provider and matching API key

Do not over-trust startup validation here.

The template does validate some env shape and pairing rules at startup, but it does not guarantee that every enabled provider is fully operational just because the app boots:

  • some provider pairs are validated strictly, such as OAuth client ID/secret
  • some services fall back when values are missing, such as mail driver fallback to preview
  • some features defer failure until runtime, such as AI provider API keys
  • billing can still boot in mock mode when Stripe keys are absent

So “the server started” is not the same thing as “provider configuration is valid”. You still need flow-level verification for every provider you intend to use in production.

Run the production build locally first:

Terminal window
pnpm build
pnpm preview

That gives you a production-shaped local check before you spend time debugging hosting-specific behavior.

Use this order before you mark the release as ready:

  1. confirm the app builds with production env values
  2. confirm the database is reachable from the target host
  3. confirm all enabled provider credentials are real, not placeholder values
  4. confirm your deploy target can run a Nuxt server continuously
  5. confirm TLS and the final public domain are ready
  6. confirm you have a rollback plan for secrets or config mistakes

The template enables Nitro scheduled tasks, including:

  • ai:reconcile every 30 minutes
  • demo:cleanup daily when demo mode is enabled

If your platform does not support the scheduling model you want, plan an alternative operational strategy instead of assuming these tasks will run the way they do locally.