npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

nx-dokku

v1.1.0

Published

Nx plugin to deploy your application to Dokku

Downloads

19

Readme

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:

| | Executor | Description | | --- | ------------- | ------------------------------------------- | | a | deploy-dist | Deploy your pre-built application to Dokku | | b | deploy-src | Let 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

| Option | Description | Default | | ------------- | ------------------------------------------------ | -------- | | host | The host of your Dokku server | None | | app | The name of your Dokku application | None | | path | The path to the distributable directory | None | | dokkuBranch | The deploy branch to push to on the Dokku server | master |

{
  "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

| Option | Description | Default | | ------------- | ------------------------------------------------ | -------- | | host | The host of your Dokku server | None | | app | The name of your Dokku application | None | | localBranch | The local branch to deploy | main | | dokkuBranch | The deploy branch to push to on the Dokku server | master |

{
  "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!