Created: 2011-07-12 15:23
Updated: 2018-12-22 17:12
License: mit

build status An extension to the node.js supervisord library with some additional candy.


  • Installs supervisord if it's not already installed.

    • Adds an optional upstart script to run supervisord at runtime
  • Ability to add processes to supervisord by group.

  • Reads supervisord.conf file for authentication / port.

  • Ability to load/unload any supervisord.conf file.


  • Beet modifies only one setting in supervisord.conf, which is [include]. Beet adds a directory to scan which is /etc/beet/enabled/*.conf. Any configuration files Are symlinked to this directory.
  • After modifications to supervisord, beet calls supervisorctl update to load / unload any changes, versus restarting supervisord.


npm install beet -g && beet --install


Easiest one is to add a program to the default scripts configuration. This is located in /etc/beet/available/scripts.conf, and is enabled in /etc/beet/enabled

var beet = require('beet');

beet.scripts.addProgram({ script: __dirname + '/script.js', name: 'my script' }, function(err, result)

You can also specify commands:

beet.scripts.addProgram({ command: '/bin/mongod' }, function(err, result)

You can just as easily load any supervisord.conf:

var beet = require('beet'),
config = beet.configuration('/path/to/my/custom/supervisord.conf');          
config.addProgram({ script: '/my/script.js' }, function()


If you want to disable any configuration file:

Cookies help us deliver our services. By using our services, you agree to our use of cookies Learn more