The beer-garden application
Clone or download
Latest commit 7c8bb0b Oct 9, 2018
Failed to load latest commit information.
bartender @ 0ed6184 Bumping commits to 2.4.0 Sep 5, 2018
bg-utils @ 5dc2b11 Bumping commits to 2.4.0 Sep 5, 2018
bin Fixing bug with building non-local rpm Sep 6, 2018
brew-view @ effd678 Bumping brew-view and brewtils commits Oct 9, 2018
brewtils @ ceb8899 Bumping brew-view and brewtils commits Oct 9, 2018
docker Pinning prometheus docker tag Sep 4, 2018
example-plugins @ b7f705e Bumping commits to 2.4.0 Sep 5, 2018
resources 2.4.4 Oct 9, 2018
test/integration Merge branch 'release' Sep 6, 2018
.gitignore Integration tests (#56) Apr 17, 2018
.gitmodules Adding brewtils submodule Aug 27, 2018
.travis.yml Only running config tests on master branch Jun 15, 2018
.venv Initial commit. Feb 3, 2018 Added authors file Feb 17, 2018 2.4.4 Oct 9, 2018 Initial commit. Feb 3, 2018 Initial commit. Feb 3, 2018 Added gif and updated documentation Jul 17, 2018 Initial commit. Feb 3, 2018
demo.gif Added gif and updated documentation Jul 17, 2018

Beer Garden

Looking for better documentation? Check out our home page

Beer Garden is a Framework that provides a standardized interface for Command and Control of systems through the use of plugins or services. In general, Beer Garden Services should be stateless (or as stateless as it can be) and should operate in terms of requests, systems and commands.

Beer Garden Demo

Getting Started

If you would like to run your own Beer Garden, you may follow these steps. If you are a Beer Garden Developer, you will probably want to work on the individual submodules.


  • Python2.7 or 3.6
  • pip
  • MongoDB Server >= 3.2.0
  • Rabbitmq-Server >= 3.0.0


  • docker
  • docker-compose

Get Up and Running

We are going to use docker and docker-compose to install and run beer-garden.

The first step is to clone the git repository that contains the docker-compose.yml file:

git clone
cd beer-garden/docker/docker-compose

Beer Garden needs to inform remote plugins the hostname of the RabbitMQ instance that they should connect to for message. This value is set as the BG_AMQ_PUBLISH_HOST in the environment or amq_publish_host in config/command-line arguments. By default in the docker-compose.yml it will be rabbitmq. This will work for containers running on the same network, but if a truly remote plugin exists, you may need to change the value to a resolvable hostname or IP address on the network.

Run this command to start beer-garden:

docker-compose up -d

This will create the necessary docker containers and then run them in the background. Run the folloing command to see the log output from the containers starting:

docker-compose logs -f

Look for a line that says "Bartender started" - once you see that beer-garden is up and running. Use ctrl-C to exit.

beer-garden starts by default on port 2337, so point a browser at http://<IP-ADDRESS>:2337. You'll see a message saying beer-garden couldn't find any systems. You're ready to start writing plugins!

Rest Services

The Rest services beer-garden provides is documented by swagger which will come installed by default on the server you stood up. Go to the About section and click on Rest API Documentation for more information.


Each of the individual submodules has ways to test individual portions of the application.