There’s a few other examples out there but I thought another clean one won’t hurt. This upstart script, runs as a privileged user and is placed in “/etc/init/”. It picks up your virtualenv settings because it invokes the python interpreter found in the “virtualenv/bin” directory.

The actual django project basedir is in “/djangoapp/project” and the virtualenv is in “/djangoapp/”.

See the ‘script’ stanza for syntactical composition.

Hope it helps!