Skip to content

Run multiple processes in a Heroku dyno, managed by runit

Notifications You must be signed in to change notification settings

deadmanssnitch/heroku-buildpack-runit

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 

Repository files navigation

heroku-buildpack-runit

A buildpack to run mulitple processes within a dyno via runit.

Why?

Imagine you want to run nginx in your web dynos, binding to $PORT, and fronting unicorn. You want them to run individually as if they were specified directly in the Procfile (including output to the log stream) without worrying about daemonizing.

Usage

You'll probably use this in conjunction with multiple buildpacks.

For every process type (eg web) you want to run mulitple processes in, add an entry like this to your Procfile:

web: runsvdir-dyno

Then, create a Procfile.web file (where web matches the process type in Procfile). It might look like this:

nginx: bin/nginx-runner -p $PORT ...
unicorn: bundle exec unicorn -c config/unicorn.rb ...

Now, when running a web dyno, both the nginx and unicorn processes will run under runit.

If any process specified in Procfile.web crashes, the entire dyno will be restarted.

About

Run multiple processes in a Heroku dyno, managed by runit

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 90.5%
  • Makefile 9.5%