Skip to content

Cloud Native Buildpacks (Experimental)

New

Introduced in 0.22.0

Cloud Native Buildpacks are an evolution over the Buildpacks technology provided by the Herokuish builder. See the herokuish buildpacks documentation for more information on how to clear buildpack build cache for an application.

Warning

This functionality uses the pack cli from the Cloud Native Buildpacks project to build apps. As the integration is experimental in Dokku, it is likely to change over time.

Usage

To use this builder instead of either Dockerfile or herokuish, you must set the DOKKU_CNB_EXPERIMENTAL environment variable for your app to 1.

dokku config:set --no-restart node-js-app DOKKU_CNB_EXPERIMENTAL=1

The pack cli tool is not included by default with Dokku or as a dependency. It must also be installed as shown on this page.

Builds will proceed with the pack cli for the app from then on.

Caveats

As this functionality is highly experimental, there are a number of caveats. Please note that not all issuesare listed below.

  • The heroku/buildpacks:latest CNB builder is currently enforced. Specifying specific builders is not currently possible.
  • A future release will allow modifying the chosen builder.
  • Specifying specific buildpacks is not currently possible.
  • A future release will add support for the buildpacks plugin.
  • There is currently no way to specify extra arguments for pack cli invocations.
  • A future release will add support for injecting extra arguments during the build process.
  • The default process type is web.
  • Build cache is stored in Docker volumes instead of on disk. As such, repo:purge-cache currently has no effect.
  • A future version will add integration with the repo plugin.
  • pack is not currently included with Dokku, nor is it added as a package dependency.
  • A future version will include it as a package dependency.