Search code examples
rubysinatraprocfile

Do I need a Procfile to push a Sinatra app to Heroku?


Per Heroku's docs, I understand that the Procfile is required for deploying a Sinatra app. I have however been able to deploy apps to Heroku even without it with no issues. Just trying to understand under what circumstances is it absolutely required.


Solution

  • Heroku knows how to launch different types of applications by default and it tries to detect your type of app when you deploy. If you have a config.ru for example, Heroku knows you’re deploying a rack app and then rack uses that file.

    A custom Procfile is needed if you want to customize the command that boots up your application, for example to run it with a different webserver or to start an additional worker process.

    So: You don’t need a Procfile for default app configurations (like most Sinatra or Rails Apps for example).

    More info here: https://devcenter.heroku.com/articles/procfile