SquareSquash/web — pull request #33 by wrs (2013-01-30 18:21:33+00:00)
Title: Heroku compatibility (WIP)

This is a work in progress to get Squash to work on Heroku.

You have to precompile assets in development because there is no environment set up when Heroku runs the precompile. This could theoretically be fixed by removing all of Squash's dependencies on environment settings, database connections, etc. in the precompile step. Meanwhile, set up a production database on the dev machine and do this (or equivalent) to deploy to Heroku:

git checkout -b deployment
RAILS_ENV=production rake assets:precompile
git add public/assets
git commit -m "Precompiled assets"
git push heroku deployment:master

The remaining problem is that about 3 out of 4 times the server process takes longer than 60 seconds to start up, so Heroku gives up. This timeout can't be adjusted. Either something is wrong, or that's just how long it takes to start up. In the latter case, there is a workaround where you start a proxy server to satisfy Heroku that forwards requests once the real server gets started.