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
announce the 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.
Installer
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 push
interface 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 ssh dokku@progriumapp.com
<command>
:
$ dokku help
$ ssh dokku@myhost.com help
Note: it's recommended to add the
-t
option to the ssh command to request a pty. To avoid the need to type the-t
option each time, simply create/modify a section in the.ssh/config
, on the client side, as follows :Host progriumapp.com RequestTTY yes
Configuration management
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>
Miscellaneous
Other changes in this release:
- Added
DOKKU_TRACE
variable 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
Supported buildpacks
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!
Road ahead
With the 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.
Round up!
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.
Do you want to get started? Checkout the README or boot a pre-installed droplet on DigitalOcean. Join us on Freenode in #dokku if you have any problems!