Skip to content

Full Stack Example with Docker Compose ​

This example demonstrates how to bring up a complete Butler SOS stack using Docker Compose. This includes Butler SOS, InfluxDB (v1), and Grafana with a pre-configured dashboard.

InfluxDB Versions

While this example uses InfluxDB v1, there are also Docker Compose files available for InfluxDB v2 and v3 in the same directory:

  • docker-compose_fullstack_influxdb_v2.yml
  • docker-compose_fullstack_influxdb_v3.yml

Overview ​

The provided Docker Compose file sets up the following services:

  • Butler SOS: The main application collecting metrics.
  • InfluxDB: A time-series database to store the metrics.
  • Grafana: A visualization tool to view the metrics.

Note

The data shown in this example is Butler SOS's own memory consumption. The configuration does not query any Qlik Sense servers.

Prerequisites ​

  • Docker and Docker Compose installed on your machine.

Steps ​

  1. Navigate to the docs/docker-compose directory in the Butler SOS repository.

  2. Run the following command to start the stack:

    bash
    docker-compose -f docker-compose_fullstack_influxdb_v1.yml up -d
  3. Wait for the containers to start.

InfluxDB v3 Note ​

If you are using the InfluxDB v3 compose file (docker-compose_fullstack_influxdb_v3.yml), you will notice an additional service called setup-influxdb starting up.

This is a temporary helper container that automatically creates the database and configures the instance using a pre-defined token (mounted from config/admin_token.txt). This architecture ensures a fully automated startup experience without requiring manual token generation or CLI commands.

Security Note

Using a pre-defined token in a text file on disk is not recommended for production use. This approach is implemented here solely to provide an easy-to-use, automated example stack. In a production environment, you should use proper secret management and avoid storing sensitive tokens in plain text files.

Accessing Grafana ​

Once the stack is up and running, you can access Grafana in your web browser:

No login is required as anonymous access is enabled for this example.

Viewing the Dashboard ​

Grafana is pre-provisioned with a dashboard showing Butler SOS metrics.

  1. Open Grafana at http://localhost:3000.
  2. Navigate to Dashboards.
  3. Select the Butler SOS dashboard.

You should see a dashboard similar to the one below, displaying internal metrics from Butler SOS.

Butler SOS Dashboard

Released under the MIT License.