0.0
Repository is archived
No commit activity in last 3 years
No release in over 3 years
Heroku -> Dokku in minutes
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.10
~> 10.0

Runtime

>= 0
 Project Readme

heroku2dokku

Heroku -> Dokku in minutes

Installation

You should already have Dokku set up on a server - see this guide for instructions for DigitalOcean

Install the official Dokku client

git clone git@github.com: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://...

Contributing

Everyone is encouraged to help improve this project. Here are a few ways you can help:

To get started with development:

git clone https://github.com/ankane/heroku2dokku.git
cd heroku2dokku
bundle install
bundle exec rake test