Docker/Docker Compose Installation Guide

This guide provides step-by-step instructions for installing and running Beer Garden using docker. It covers both docker-compose and using the individual docker images.

Prerequisites

To follow along with this guide, we assume you have the following working:

  • Docker - Installation instructions can be found at Docker Docs

  • Docker Compose - Installation instructions can be found at Docker Docs

  • Git and an account on GitHub

Installing via Docker Compose

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

git clone [email protected]:beer-garden/beer-garden.git
cd beer-garden/docker/docker-compose

In this directory you will see a docker-compose.yml file that describes the different components of Beer Garden and how they fit together. Before we can run Beer Garden we need to make one change to the configuration.

You can checkout all the options for configuration in the Configuration section

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.

Make sure to use a real IP address and not 'localhost' or '0.0.0.0'.
You can also use a fully-qualified domain name instead of an IP address.

That’s it! You’ve configured Beer Garden!

Run

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 following 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 (where <IP-ADDRESS> is the address you used for the previous step). You’ll see a message saying beer-garden couldn’t find any systems. Don’t worry - you’re about to add one.

Test your installation

We have a docker image with a very simple plugin you can use to test out your Beer Garden. Run it with this command:

docker run bgio/example-plugin --bg-host <IP-ADDRESS> --ssl-disabled

Where <IP-ADDRESS> is the same value you used during the configuration file step earlier.

The --ssl-disabled is necessary because your brand new Beer Garden doesn’t have a valid server certificate.

Start a Remote Plugin

If you have a remote plugin, you simply need to start it and point it to the host you just stood up!

Start a Local Plugin

If you have a local plugin, then this Beer Garden is ready to deploy it. Simply copy your plugin into the ./plugins/ then navigate to http://<IP-ADDRESS>:2337 then:

  1. Click on Administration on the left side of the page

  2. Click on System Administration

  3. Click Rescan System Directory at the top right of the screen

You should see your plugin appear!

If your plugin does not appear, be sure to checkout the logs using: docker-compose logs -f bartender

Stop

Run this command to stop Beer Garden.

docker-compose down