[![npm version][npm-version-src]][npm-version-href] [![npm downloads][npm-downloads-src]][npm-downloads-href] [![License][license-src]][license-href] [![Nuxt][nuxt-src]][nuxt-href]
Nuxt PM2 is a highly efficient and practical module that simplifies the deployment process of your Nuxt applications using PM2. This module is designed to build your Nuxt app and mount it to PM2 without any downtime, ensuring a seamless user experience.
- Zero Downtime Deployment: The module ensures your application remains available during deployment, eliminating downtime.
- Build Retention: It keeps the build after deployment for easy rollback/switching.
- Add
nuxt-pm2
dependency to your project
# Using pnpm
pnpm add nuxt-pm2
# Using yarn
yarn add nuxt-pm2
# Using npm
npm install nuxt-pm2
- Add
nuxt-pm2
to themodules
section ofnuxt.config.ts
export default defineNuxtConfig({
modules: [
'nuxt-pm2'
]
})
Now you can run
npx nuxt-pm2 release
The following are the default configurations for the application:
nuxtPm2: {
"releasesToKeep": 3, // Number of releases to keep. (Defaults to 3)
"releasesDir": "releases",//The directory where releases are stored. (Defaults to 'releases')
"runOnBuild": false,//Whether or not to run with npm run build || nuxt build command.
"pm2Config": { // any pm2 config that is available in pm2 ecosystem file
"port": 3000,
"instances": "max",
"exec_mode": "cluster"
}
}
To build the nuxt app using nuxt-pm2 module, use the release
command.
npx nuxt-pm2 release
To list releases, use the releases command.
npx nuxt-pm2 releases
To rollback the nuxt app using nuxt-pm2 module, use the rollback command. You can optionally specify a target.
npx nuxt-pm2 rollback || npx nuxt-pm2 rollback [releaseName]
npm install
npm run dev:prepare
npm run dev
npm run dev:build
npm run lint
npm run test npm run test:watch
npm run release
<!-- Badges -->
[npm-version-src]: https://img.shields.io/npm/v/nuxt-pm2/latest.svg?style=flat&colorA=18181B&colorB=28CF8D
[npm-version-href]: https://npmjs.com/package/nuxt-pm2
[npm-downloads-src]: https://img.shields.io/npm/dm/nuxt-pm2.svg?style=flat&colorA=18181B&colorB=28CF8D
[npm-downloads-href]: https://npmjs.com/package/nuxt-pm2
[license-src]: https://img.shields.io/npm/l/nuxt-pm2.svg?style=flat&colorA=18181B&colorB=28CF8D
[license-href]: https://npmjs.com/package/nuxt-pm2
[nuxt-src]: https://img.shields.io/badge/Nuxt-18181B?logo=nuxt.js
[nuxt-href]: https://nuxt.com