Skip to content
tagliala edited this page Dec 15, 2012 · 50 revisions

Deploy on Heroku

A fast guide on how to deploy icare on heroku

Prerequisites

  1. git: http://git-scm.com/
  2. Heroku Toolbelt: https://toolbelt.heroku.com/
  3. Working Facebook Application: Setup-Facebook-App

Instructions for a new application

Replace appname with a name of your choice.

  1. Setup a new application
heroku create appname --remote production
  1. Enable branch tracking
git config push.default tracking
  1. Add add-ons
heroku addons:add mongolab:starter
heroku addons:add redistogo:nano
  1. Add plugins
heroku labs:enable user-env-compile
  1. Setup environment variables
heroku config:add APP_BASE_URL=appname.herokuapp.com
heroku config:add SECRET_TOKEN=xxx
heroku config:add FACEBOOK_NAMESPACE=xxx
heroku config:add FACEBOOK_APP_ID=xxx
heroku config:add FACEBOOK_SECRET=xxx
  1. Setup Google Analytics (optional)
heroku config:add GOOGLE_ANALYTICS_ID=UA-XXXXXXXX-X
  1. Push!
git checkout master
git push production master
  1. Create db indexes and populate db with some default objects
heroku run rake db:mongoid:create_indexes db:seed
  1. Set up to track remote branch production/master from master. In this way you can simply launch git push from master branch instead of git push production master to deploy on heroku
git branch --set-upstream master production/master

Instructions for an existing application

Replace appname with the name of the existing application. We suppose you already have forked this repository.

  1. Add the heroku remote
heroku git:remote -a appname -r production
  1. Enable branch tracking
git config push.default tracking
  1. After pushing for the first time to production master, set up to track remote branch production/master from master
git branch --set-upstream master production/master

Notes

On free Heroku hosting, the "Share on Facebook Timeline" will use a background worker inside the web dyno, by using defunkt/unicorn and the following instructions from Diaspora

References

https://devcenter.heroku.com/articles/multiple-environments

Clone this wiki locally