No description, website, or topics provided.
Shell Makefile
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Juju Box

Juju Box is a docker container project that provides a configured Juju environment with all the tools you need to work with Juju.

Juju is an open source, universal model for applications. Juju allows you to deploy, configure, manage, maintain, and scale cloud services quickly and efficiently on public clouds, as well as on physical servers.

This container comes with the basic tools you need to get started with Juju.

The charmbox container starts with jujubox and adds the functionality of charm-tools and bundletester.

Install Docker


Install Docker using the package manager for your Linux distribution, or We recommend Docker version 1.6 or greater.

Mac OS X

There are several ways to install Docker on Mac OS X. Consult the latest documentation on Getting Started with Docker for Mac.

Download jujubox

If you want to see the code you can download the jujubox project from github and build it from source.

git clone && cd jujubox
docker build -t jujusolutions/jujubox ./

Or simply pull the jujubox container from the Docker hub.

docker pull jujusolutions/jujubox

Run jujubox

There are several different ways to run jujubox depending on what you are trying to accomplish.

Running jujubox to use Juju

If you want to use Juju run the container in an interactive (-i) tty (-t) session and use the command line. Since the container file system is reset each time it is highly recommended to mount a volume (-v) from the host system to the $JUJU_DATA directory. This will allow any Juju data to persist between runs of jujubox:

docker run --rm -it \
  -v $JUJU_DATA:/home/ubuntu/.local/share/juju \

Use charms from the host

If you already have charms on the host machine, you can also mount the $JUJU_REPOSITORY directory so jujubox can deploy local charms.

docker run --rm -it \
  -v $JUJU_DATA:/home/ubuntu/.local/share/juju \
  -v $JUJU_REPOSITORY:/home/ubuntu/charms \

See the Environment Variables reference for more information on the paths for $JUJU_DATA and $JUJU_REPOSITORY.

jujubox and the LXD provider

At this time you can not run jujubox on the LXD provider inside of Docker because of some nested container issues. If you want to use the LXD provider install Juju and LXD on the host system.

More information

For more information about what you can do in jujubox check out the Juju documenation.

If you find any bugs please create an issue in the jujubox github repository.