Skip to main content

A Buildout recipe to install and configure supervisor for Anaconda.

Project description

Travis Build GitHub license Join the chat at


birdhousebuilder.recipe.supervisor is a Buildout recipe to configure Supervisor services with Anaconda. This recipe is used by the Birdhouse project.


The recipe requires that Anaconda is already installed. You can use the buildout option anaconda-home to set the prefix for the anaconda installation. Otherwise the environment variable CONDA_PREFIX (variable is set when activating a conda environment) is used as conda prefix.

The recipe will install the supervisor package from a conda channel in a conda environment defined by CONDA_PREFIX. It deploys a supervisor configuration for a given service. The intallation folder is given by the prefix buildout option. The configuration will be deployed in the birdhouse enviroment ${prefix}/etc/supervisor/conf.d/myapp.conf. Supervisor can be started with ${prefix}/etc/init.d/supervisord start.

The recipe depends on birdhousebuilder.recipe.conda and zc.recipe.deployment.

Supported options

This recipe supports the following options:

Buildout option pointing to the root folder of the Anaconda installation. Default: $HOME/anaconda.

Buildout options for supervisord:

Buildout option to set the supervisor port. Default is 9001.
Buildout option to set supervisor host. Default is
Buildout option to set username for http monitor access. Default: None
Buildout option to set password for http monitor access. Default: None
Buildout option wheather to enable http monitor interface. Default: true
Buildout option for supervisor log level. Default: info

Buildout part options for the program section:

Deployment option to set the prefix of the installation folder. Default: /
Deployment option to set the run user.
Deployment option to set the user of the /etc directory. Default: root
The name of the supervisor service.
The command to start the service.
The directory where the command is started.
The priority to start service (optional). Default is 999.
Start service automatically (optional). Default is true.
Restart service automatically (optional). Default is false.
logfile for stdout (optional). Default is ${prefix}/var/log/supervisor/${program}.log
logfile for stderr (optional). Default is ${prefix}/var/log/supervisor/${program}.log
Seconds the service needs to be online before marked as started (optional). Default is 1.
Seconds to wait before killing service (optional). Default 10.
Kill also child processes (optional). Default false.


The DAEMON_OPTS environment variable can be used to set additional start parameters for supervisord. For example DAEMON_OPTS=-n to start supervisord in foreground.

For supervisor configuration details see the documentation.

Example usage

The following example buildout.cfg installs a Supervisor configuration for myapp web application:

parts = myapp

anaconda-home = /opt/anaconda
supervisor-host =
supervisor-port = 9001
supervisor-use-monitor = true

recipe = birdhousebuilder.recipe.supervisor
prefix = /
user = www-data
program = myapp
command = ${buildout:bin-directory}/gunicorn -b unix:///tmp/myapp.socket myapp:app
directory = /tmp


Carsten Ehbrecht ehbrecht at


0.4.0 (2018-03-20)

  • cleaned up buildout.cfg (#5).

0.3.5 (2016-12-12)

  • pep8.
  • update ignore temp files.

0.3.4 (2016-07-26)

  • fixed zc.recipe.egg import.

0.3.3 (2016-07-05)

  • sets env: USER, LOGNAME, HOME

0.3.2 (2016-07-04)

  • fixed bool_options.

0.3.1 (2016-07-04)

  • added skip-user option.

0.3.0 (2016-06-30)

  • updated buildout and doctests.
  • enabled travis.
  • replaced conda.makedirs by os.makedirs.
  • using zc.recipe.deployment.
  • using run-directory.

0.2.8 (2015-12-22)

  • fixed use-monitor option.

0.2.7 (2015-12-22)

  • cleaned up configuration files.
  • added more supervisord options: host, port, username, password, use_monitor.

0.2.6 (2015-12-07)

  • remove supervisor config files after uninstall.

0.2.5 (2015-09-21)

  • added DAEMON_OPTS env variable to set additional parameters when starting supervisord.

0.2.4 (2015-07-15)

  • added stopsignal option.
  • fixed stopasgroup option.

0.2.2 (2015-06-25)

  • cleaned up templates.
  • added user and chown option.

0.2.1 (2015-05-18)

  • added more options for program configuration.
  • setting default logfile name for service.

0.2.0 (2015-02-24)

  • installing in conda enviroment birdhouse.
  • using $ANACONDA_HOME environment variable.
  • separation of anaconda-home and installation prefix.

0.1.5 (2015-01-22)

  • bugfix: var/log/supervisor directory is now created.

0.1.4 (2014-12-06)

  • Don’t update conda on buildout update.

0.1.3 (2014-07-31)

  • Updated documentation.

0.1.2 (2014-07-24)

  • Removed workaround “kill nginx”.

0.1.1 (2014-07-22)

  • Not using supervisor-host option.

0.1.0 (2014-07-10)

  • Initial Release.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for birdhousebuilder.recipe.supervisor, version 0.4.0
Filename, size File type Python version Upload date Hashes
Filename, size birdhousebuilder.recipe.supervisor-0.4.0.tar.gz (15.9 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page