When going to production you have several options with this template. Let's cover all of them.

Before going to production make sure, that you have checked your modules' size with npm run build --analyze.

Nuxt deployment modes

There are two deployment modes available for nuxt deployments.

Use spa only when you do not need server-side rendering. By default, we use universal mode.

You can also provide --spa flag via command line: npm run build --spa.

Static files

The easiest way to deploy your application is just pushing some static files to your web server.

Use npm run generate to create static files. Then just deploy them.


You can create a new virtual server, install node there, then configure nginx.

There are a lot of tutorials about it. Here's [an example][do-example].


We have already mentioned some downsides of docker deployment. But sometimes you really need the whole power of nuxt and its server-side rendering. Or maybe you already have a micro-services architecture.

This way you already have the basics of the docker deployment. It may be wise to add pm2 within docker, using process.yml.

We used to have the full docker production pipeline configured out of the box, but it was too confusing for other people. So, we removed it.

One more thing. Check out our backend template.

Extending GitLab CI to run a deployment

GitLab CI can run deploys for you. Check it out.

Other methods

Very easy. Some of them are totally free.

Verifications and audits

We recommend to verify that everything is working fine in production by running a set of automated audits: