To clone this repository, issue the following command:
 $ git-clone git://


master: master branch
debian: patch for debian package - will be rebased, so you may need to force updates with -f

Original home

Source based on spawn-fcgi from lighttpd, rewritten for external packaging and some extra features:

Includes modified code from the Linux-PAM project for the limits.


spawn-fcgi prepares the environment for fastcgi applications; it opens a socket (tcp / unix-domain) on filedescriptor 0, changes uid/gid for process and unix-domain socket, closes STDIN/STDOUT, ...


Examples for daemontools (with lighttpd on debian):
For php5:


exec 2>&1
exec /usr/bin/spawn-fcgi -s /var/run/lighttpd/php-webuser.sock -n -u webuser -U www-data -l -- /usr/bin/php5-cgi

For turbogears:


exec 2>&1
cd /var/www/tgapp
exec /usr/bin/spawn-fcgi -s /var/run/lighttpd/tgapp.sock -n -u tg-user -U www-data -- /var/www/tg-app/ prod.cfg


#!/usr/bin/env python
import pkg_resources
import cherrypy
import sys

cherrypy.lowercase_api = True


from cherrypy._cpwsgi       import wsgiApp
from flup.server.fcgi       import WSGIServer
from os.path                import *

import turbogears

if len(sys.argv) > 1:
    configfile = sys.argv[1]
elif exists(join(dirname(__file__), "")):
    configfile = "dev.cfg"
    configfile = "prod.cfg"

turbogears.update_config(configfile=configfile, modulename="tgapp.config")

from tgapp.controllers import Root

cherrypy.root = Root()

cherrypy.server.start(initOnly=True, serverClass=None)


spawn-fcgi is released under a BSD license, which may be found in the source files:

	Copyright (c) 2004, Jan Kneschke, incremental
	All rights reserved.
	Copyright (c) Cristian Gafton, 1996-1997, ><
	All rights reserved.