-
Notifications
You must be signed in to change notification settings - Fork 265
Deploying
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
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
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
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
git push heroku master
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.