Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fabulous django deployment (from git)
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.

Django Liberace

Fabulous django deployment (from git)

Please report bugs at

Please ask questions on the mailing list:


Liberace is a flexible but easy to use deployment system using fabric, pip and virtualenv. It is suitable for newbies to deploy simple sites, or experienced programmers as a base for more complex fabric deployments.

Liberace deploys django on apache mod_wsgi for now.

$ fab deploy -H   # deploys master 
$ fab deploy_index -H   # deploys your git index
$ fab deploy:branchname -H  # deploys a branch

Liberace automatically detects the platform of the system being deployed on and picks appropriate install steps for that system.

$ fab detect -H  # called during deploy and other commands

Liberace supports rollback to the previous deployment:

$ fab rollback -H

Liberace copies your ssh keys to your servers (and even creates your key for you if you have not created one).

$ fab copy_key -H
[] Executing task 'copy_key'
Where is your ssh key? [~/.ssh/] 
[] put: /Users/ryan/.ssh/ ->
[] run: cat >> ~/.ssh/authorized_keys
[] run: rm

Disconnecting from done.

Liberace deploys to a bunch of systems out of the box:

  • Ubuntu
  • Debian
  • OS X (needs work)
  • dreamhost (needs work)
  • freebsd (needs work)

Liberace can deploy multiple django projects to the same machine as virtual hosts.

Liberace has templated config files.

Liberace does all sorts of cool things that are not documented yet.

Liberace is BSD licensed.

Liberace is generally fabulous.


Liberace requires my fork of fabric for the templated environment dictionary patch. This will be fixed in the future.

# first, install fabric
$ pip install    # (or use easy_install)

# now install liberace!
$ pip install

Project setup

In your fabfile, import liberace to gain access to its default commands:

# -- --
from liberace import *
env.project_name = ''                  # your site name
env.django_project_dir = 'example_django_project' # the directory with your

# your own fabric commands go here

You need a _conf directory to hold your apache and wsgi scripts. You also need some example scripts. Fortunately, Liberace is fabulous and has a command for that:

$ fab example_config
created _conf
created _conf/apache.conf
created _conf/


These files are templated, and you can customize them as you see fit.

Something went wrong with that request. Please try again.