Skip to content
Nathan Ward edited this page Jul 21, 2016 · 12 revisions

Deploy To Heroku

Warning - the deployment instructions are out of date. Huboard now requires memcached and couchdb. Please help me update the documentation

huboard.com is fully operational and free. If you feel the need to host your own instance please use the latest stable tag. The master branch doesn't always reflect the deployed version on huboard.com and very difficult to support and troubleshoot if you run into any issues.

Sign up on Heroku if you don't have an account, and install the heroku toolbelt

1. Create The Heroku App

Clone Huboard:

git clone https://github.com/huboard/huboard-web.git
cd huboard

Bundle:

bundle install

Create the app:

heroku apps:create --stack cedar

or, if you'd prefer to name your app yourself:

heroku apps:create <your-app-name> --stack cedar

2. Register App For Github OAuth

Go to https://github.com/settings/applications and register your application to get the application keys needed for OAuth.

  • URL: https://<your-app-name>.herokuapp.com
  • Callback: https://<your-app-name>.herokuapp.com

3. Configure Heroku Environment

Now you'll need to setup some environment variables on Heroku.

Customize your values and run the following from your project root:

heroku config:add \
  BUILDPACK_URL=https://github.com/heroku/heroku-buildpack-multi \
  GITHUB_CLIENT_ID='<your-github-oauth-client>' \
  GITHUB_SECRET='<your-github-oauth-secret>' \
  SECRET_KEY='<your-random-secret-key>' \
  SESSION_SECRET='<your-complex-session-secret>' \
  HUBOARD_ENV='oss'

Next, set up some addons, these are all at the free tier:

heroku addons:create newrelic:stark # or just newrelic
heroku addons:create memcachier

Finally, we need a CouchDB install. There used to be a Cloudant plugin on Heroku, but apparently it's been pulled so you'll need to sign up for a Cloudant account and manually configure Heroku for it:

heroku config:add \
  COUCH_DATABASE=huboard \
  COUCH_URL=https://<account>.cloudant.com/_all_dbs

4. Deploy

git push heroku master

5. Log In and Authorize

You should now be able to point your browser at your Heroku app URL, and log in via your Github account.

If you check out the app's dashboard in heroku, you'll see that there's setup for web, faye, and worker processes. I'm not sure what the latter two process, but the app seems fully functional to me with just a single web dyno.