Getting Started

Deployment

How to deploy NuxtStart Nuxt project to production on Vercel

You can depoy NuxtStart based project on any hosting provider supported by Nuxt. We recommend you checkout Nuxt documentation on deployment before proceeding further.

1. Create .env.prod

It's recommended to have .env.prod in your local system which contains all the environment variables required for production. This file will be used to import environment variables to your hosting provider when you deploy your project.

Please checkout configuring environment variables page to identify which environment variables you need to add to .env.prod file.

.env.prod is already added to .gitignore file so it won't be commited to your git repository.

2. Configure environment variables & secrets in GitHub

We provide .github/workflows/manual-db-migration.yml workflow which requires having same secrets & variables as your production environment in your GitHub repo. This is two step process:

  1. Update that workflow to use all environment variables from your .env.prod file as environment variables or secrets based on their nature (API Keys are good candidate for secrets and publicly available variables like app name can be environment variables).
  2. Navigate to "Settings" tab of your GitHub repository and add those environment variables and secrets in "Secrets and Variables" section. Refer to this official GitHub guide on creating & storing secrets and variables.
Ensure your GitHub environment matches one defined in .github/workflows/manual-db-migration.yml workflow. As per NuxtStart code it's production
jobs:
  run-migration:
    name: Run Production Migration
    environment: production
    runs-on: ubuntu-latest

3. Setup Cron Job for Nitro Tasks

NuxtStart relies on Nitro Tasks to run background jobs like lifting ban after band expire time is reached. As nitro tasks are still in early stages of development, they only run on specific platforms like Node Server and has limited support for serverless platforms. Please refer to their list of supported platforms.

However to get you covered for everything we already have comprehensive blog post written for you on how to setup cron job for Nitro Tasks on any platform of your choice. Please refer to that blog post for detailed steps.

We already have setup for NuxtStart, You just have to configure as per your deployment platform as suggested in above mentioned blog post and you are good to go.

4. Verify Deployment Checklist

We have created Deployment Checklist for you to verify if you have done all the necessary steps to ensure smooth deployment of your NuxtStart based project. Please refer to that checklist before you deploy your project to production.

5. Platform Specific Deployment Steps

Vercel

NuxtStart uses Nuxt Content for blog, documentation and other content related static pages. Nuxt Content uses light weight database to store & query content. However, with pnpm@10+ and Vercel we've to explicitly state Nuxt Content to use Node's native SQLite bindings instead.

You can configure this in nuxt.config.ts by adding following configuration:

nuxt.config.ts
content: {
  /*
    When on vercel it's required to use Node's native SQLite connector
    Issue: https://github.com/nuxt/content/issues/3689
  */
  experimental: { sqliteConnector: 'native' },
},

Steps

  1. Create vercel account
  2. Import your GitHub repo to Vercel
    1. Select your GitHub repo
    2. Select import environment variables from file and import from .env.production
  3. Let it build your project or feel free to cancel it because we need to configure custom domain
  4. Let's add your custom domain
    1. Go to "Domains" page of your project from sidebar
    2. Click "Add Existing" button to add your existing domain
    3. Enter your domain name. This will add two domain entries one with www and one without www
    4. Preferred way to configure is to set vercel nameservers in your domain provider and let vercel handle everything else and also get vercel managed CDN. When you select both domain, Go to "Nameservers" tab which provides vercel nameservers and set those in your domain provider. It may take few minutes for nameservers to propagate but once they do, your domain will be live and also served from vercel CDN with automatic SSL certificate provisioning and renewal handled by vercel.

Copyright © 2026