Skip to content
Can Edremitoglu edited this page Dec 2, 2015 · 3 revisions

Heroku

Installing Tracks 2.0 or newer on Heroku is fairly simple, here are the steps to get tracks working on Heroku (steps for a non-programmer...):

  • Unpack the application (I used "git clone," but unzipping will do just fine).
  • Configure your Tracks instance
    • Navigate to config/environments/production.rb and change the cache settings to "false" (config.cache_classes remains true, whereas config.action_controller.perform-caching is set to false)
    • Copy config/site.yml.tmpl to config/site.yml and change its contents (documented by the comments)
      • You definitely want to change your secret token
      • Your admin email should be updated
      • You should decide if you want open signups (beware spam robots!)
      • Once you're ready, you'll want to configure one of the mail providers
    • Change the Gemfile and
      • Replace the lines gem "sqlite3", group: :sqlite and gem "mysql2", group: :mysql with a single gem "pg"
      • Add a definition near the top for the version of Ruby (e.g. ruby '1.9.3')
      • Add a line gem 'rails_12factor'
    • Create a file called Procfile with a single line that reads web: bundle exec rails server thin -p $PORT -e $RACK_ENV
    • Run bundle install
  • In the .gitignore file, comment out config/site.yml by putting a hash (#) at the beginning of the line.
  • Add the created site.yml and Gemfile.lock files to the git repository with git add config/site.yml Gemfile.lock and commit everything with git commit -a -m "Updated/add the site information and bundle additions for Heroku"
  • Create a Heroku app on the Cedar stack with heroku create {NAME} --stack cedar-14 where {NAME} is something you care about. Or leave it off and Heroku will pick one for you.
  • Run heroku config:add BUNDLE_WITHOUT="development:test:selenium" so that only gems needed for production are installed on Heroku
  • Push the commit with git push heroku master
  • Run the migrations on Heroku with heroku run rake db:migrate
  • Open the application with heroku open
  • Create your administrator user

If something goes wrong,

  1. try to follow Heroku's advice (rerun bundle install if you modify Gemfile)
  2. commit your changes
  3. push your repository back to Heroku
Clone this wiki locally