heroku2dokku

Heroku -> Dokku in minutes

Installation

You should already have Dokku set up on a server

Install the official Dokku client

git clone [email protected]:progrium/dokku.git ~/.dokku

# add the following to either your
# .bashrc, .bash_profile, or .profile file
alias dokku='$HOME/.dokku/contrib/dokku_client.sh'

And run:

gem install heroku2dokku

How to Use

In your app directory, run:

git remote add dokku dokku@dokkuhost:myapp
heroku2dokku all

This:

  1. creates app
  2. copies config
  3. copies custom domains
  4. adds a CHECKS file for zero-downtime deploys

Commit the CHECKS file and deploy away!

git add CHECKS
git commit -m "Added checks"
git push dokku master

Database

To transfer your database, export your data

heroku maintenance:on
heroku pg:backups capture
curl -o latest.dump `heroku pg:backups public-url`

Import to a new database

pg_restore --verbose --clean --no-acl --no-owner -h localhost -U myuser -d mydb latest.dump

And update your config

dokku config:set DATABASE_URL=postgres://...