What is a Procfile-based application

Procfile and the Foreman Gem

A Procfile is used by the foreman gem to run services with a user-defined name and options. Heroku uses it to configure services to run in the dyno, but it can be used by anyone who is willing to invoke things with foreman start <named_process> instead of however they were doing it before.

Example

I often use it in development to choose between unicorn and thin for my Rails server. For example:

thin: bundle exec thin start -e development -p 8080
unicorn: bundle exec unicorn -c config/unicorn.vagrant.rb

With this configuration, I can start thin with foreman start thin or unicorn with foreman start unicorn. Your mileage, and the usefulness of the gem, will certainly vary.