1.1.0 ā€¢ Published 5 months ago

nx-dokku v1.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

Deploy your Nx projects to Dokku with ease using this plugin. With a simple configuration, you can deploy your application directly to your Dokku server via nx deploy

Contents

šŸ“¦ Installation

Prerequisites

Make sure you have the following:

  • An existing Nx workspace
  • A buildable project set up within this workspace

Step 1: Install the plugin

NPM:

npm install nx-dokku --save-dev

Yarn:

yarn add nx-dokku --dev

Step 2: Choose an executor

Add a new target called deploy in your project's project.json file and configure one of the following executors:

ExecutorDescription
adeploy-distDeploy your pre-built application to Dokku
bdeploy-srcLet Dokku build and deploy your application

Step 3a: Configure executor deploy-dist

Deploy your pre-built application by pushing the distributable directory to Dokku. To achieve this without tracking build files in your main repository, a local repository will be generated within the distributable directory.

Options

OptionDescriptionDefault
hostThe host of your Dokku serverNone
appThe name of your Dokku applicationNone
pathThe path to the distributable directoryNone
dokkuBranchThe deploy branch to push to on the Dokku servermaster
{
  "deploy": {
    "executor": "nx-dokku:deploy-dist",
    "options": {
      "host": "server.example.com",
      "app": "my-dokku-app",
      "path": "dist/apps/my-app"
    }
  }
}

Step 3b: Configure executor deploy-src

Let Dokku build and serve the application after deploying the project source.

Note: It's not recommended to use this executor for JS/TS projects due to the absence of a package.json in the project directory.

Options

OptionDescriptionDefault
hostThe host of your Dokku serverNone
appThe name of your Dokku applicationNone
localBranchThe local branch to deploymain
dokkuBranchThe deploy branch to push to on the Dokku servermaster
{
  "deploy": {
    "executor": "nx-dokku:deploy-src",
    "options": {
      "host": "server.example.com",
      "app": "my-dokku-app",
      "localBranch": "main"
    }
  }
}

Dokku Configuration

When opting for the deploy-src executor, the build directory of the Dokku app should align with the path to the project directory. Configure the build directory by running the following command on the Dokku server:

dokku builder:set my-dokku-app build-dir apps/my-app

šŸš€ Usage

To deploy your application, run:

nx deploy my-app

ā­ Tip: To unleash the true potential of Nx, use nx run affected -t deploy in your CI/CD pipeline.

šŸ› ļø Troubleshooting

Host key verification failed

Ensure you've set up SSH key authentication with your Dokku host. Read more about it here.

šŸ¤ Support

Encountered an issue or have suggestions for improvements? Feel free to raise an issue.

Contributions are welcome!