No Procfile detected, using the default web server

If you’re a Heroku user and tried to deploy a ruby application, maybe you got this message logged on your terminal:

1
2
3
###### WARNING:
No Procfile detected, using the default web server (webrick)
https://devcenter.heroku.com/articles/ruby-default-web-server

Basically, you don’t have defined any web server for your application on the Procfile and the default webrick are up and running, and it’s probably a bad idea in terms of performance for your application.

The article about this warning message will suggest us to install and use the Unicorn web server as an example. I worked with Unicorn recently on production and was not an incredibly experience to be honest.

Recently, for my new projects I’m using by default the Thin, what seems much more simple and faster to bootstrap than Unicorn.

To do it, you’ll need to simply add Thin on your Gemfile:

1
gem 'thin'

Then execute a $ bundle install and after it specify you’ll use Thin on your Procfile.

Create a Procfile file on your app root directory and add then the follow instruction:

1
web: bundle exec thin start -p $PORT

So, you’ll be ready to start using Thin instead of the default webrick and that Warning message will disappear.

avatar

Tailor Fontela

Software Developer. Full-time apprenticeship.