How to deploy on Dokku?

We recommend to read Dokku documentation for the setup and Deploying a Node.js Application on Digital Ocean using Dokku.

For the example, we will call our Nuxt.js application my-nuxt-app.

We need to tell Dokku to install the devDependencies of the project (to be able to launch npm run build):

  1. // on Dokku Server
  2. dokku config:set my-nuxt-app NPM_CONFIG_PRODUCTION=false YARN_PRODUCTION=false

Also, we want our application to listen on the host 0.0.0.0 and run in production mode:

  1. // on Dokku Server
  2. dokku config:set my-nuxt-app HOST=0.0.0.0 NODE_ENV=production

You should see these 3 lines when you type dokku config my-nuxt-app

nuxt config vars Dokku

Then, we tell Dokku to launch npm run build via the scripts.dokku.predeploy script in our project app.json:

create a file name app.json in our project root folder

  1. {
  2. "scripts": {
  3. "dokku": {
  4. "predeploy": "npm run build"
  5. }
  6. }
  7. }

To launch the application we run npm run start using the Procfile:

  1. web: npm run start

Finally, we can push our app on Dokku with:

  1. // commit your change before push.
  2. git remote add dokku dokku@yourServer:my-nuxt-app
  3. git push dokku master

Voilà! Our Nuxt.js application is now hosted on Dokku!