Aptitude Buildpack for Heroku and Dokku

by Christoph on 06.09.2016

We use Dokku to develop, deploy and run internal applications as well as demo or staging systems for our customers. During maintenance work on our Dokku setup we noticed a deprecation warning of the Dokku package that we used.

So we decided to fork the deprecated buildpack for Heroku and Dokku. After removing the deprecation and adjusting minor issues we also added new awesome features for our own needs.

The buildpack allows to install software packages via aptitude from

  • the operating system's standard package repository
  • packages from the local file systems
  • packages GET-able via an URL
  • packages from 3rd party repositories

Standard packages

Just like using aptitude over the CLI by apt-get install <package-name> you specify the package-names you want to install in your application container. Just place the package-names one-by-one in an Aptfile in the root folder of your project.

Local and remote package files

Any *.deb file accessible via a local path or an URL can be installed by providing the path or URL. They belong in the Aptfile just like package-name.

3rd party repositories

In addition to including additional package repositories in the sources.list you can also secure aptitude against manipulated packages. Just provide the GPG–Keys for the trusted.gpg.d.

Write the additional repositories to a sources.list in the root folder of your project. The *.gpg-files belong into a trusted.gpg.d folder also in the project's root.

How to use it and contribute

If you want to use the buildpack yourself please follow the instructions on GitHub. As a starter create the sample .buildpacks and Aptfile.

If you want to improve the documentation, fix some bugs or add new features we would be delighted. Just fork the project and when you are done create a pull request to share your work.