Dokku v0.2.0, the Docker powered mini-Heroku in around 100 lines of Bash
About 160 days ago Jeff released Dokku
v0.1.0. Today we're happy to
v0.2.0 release of the Docker powered mini-Heroku in around 100
lines of Bash! Quite some things changed, but the core remained the same.
Dokku was already easy to setup:
$ wget -qO - https://raw.github.com/progrium/dokku/v0.2.0/bootstrap.sh | sudo DOKKU_TAG=v0.2.0 bash
but it now also ships with an installer to get you up and running.
Extension points via plugins
The first version of Dokku was composed out of three additional components:
- Docker the container runtime
- buildstep to build the base images for your apps using Heroku's open source buildpacks
- gitreceive handling the
git pushinterface for Dokku
In the current release support for pluginhook was added. Plugins can now hook in to the build, release and deploy steps of Dokku. The addition of the plugin system spawned many community plugins. You can easily hook up your app with MongoDB, PostgreSQL or Redis! Don't forget to checkout the other community plugins and read up on how you can create your own.
Dokku commands over ssh
Integration of sshcommand makes it possible to run commands over ssh.
Anywhere you would run
dokku <command>, just run
$ dokku help $ ssh firstname.lastname@example.org help
Note: it's recommended to add the
-toption to the ssh command to request a pty. To avoid the need to type the
-toption each time, simply create/modify a section in the
.ssh/config, on the client side, as follows :
Host progriumapp.com RequestTTY yes
Dokku comes with support for environment configuration out of the box (thanks Jose!):
config <app> - display the config vars for an app config:get <app> KEY - display a config value for an app config:set <app> KEY1=VALUE1 [KEY2=VALUE2 ...] - set one or more config vars config:unset <app> KEY1 [KEY2 ...] - unset one or more config vars
Running commands in your apps environment
It is now possible to run commands in the environment of your application:
$ dokku run node-js-app ls -alh $ dokku run <app> <cmd>
Other changes in this release:
DOKKU_TRACEvariable for verbose trace information
- Backup/import plugin
- Faster buildpack building, because the cache dir is preserved across builds
- It's now possible to delete an application
- Git handling is moved to a plugin
- Integration test coverage and a running CI setup
- Nginx is now a plugin
Thanks to all the contributions to buildstep, Dokku now supports clojure, dart, go, java, meteor, nodejs, perl, php, play, python, ruby and scala apps out of the box!
v0.2.0 release of Dokku we provide a stable release for developers to
run and deploy their apps on. In the meantime development continues and we soon
hope to add Heroku style addon support and more flexible domain management.
We're dedicated to provide a clean upgrade path for the next release.
This release would not have been possible if it wasn't for all the contributors that helped us get there. A big shout out to the guys from deis (hi!), that also uses buildstep and helped on improving the support for the various buildpacks out there.