Skip to main content
Version: Release 24.3

Multi-node Docker deployments

This document provides a sample approach to set up the database and other infrastructure for a multi-node Release deployment using Docker Compose.

The production setup for Release, as described here, can be implemented using Docker Compose as outlined below.

note
  • For production deployments, it is recommended to use Kubernetes to orchestrate the deployment of applications. Docker Compose is not ideal for production. Proceed at your own risk.
  • For HA setup, mount a license file or provide an environment variable XL_LICENSE containing a base64-encoded license text for the Release instances.
  • The folders you mount must be owned by user 10001. For example, run sudo chown -R 10001 xl-release if you are mounting directories under $PWD/xl-release.

Setup

  • Load balancer with HAProxy
  • PostgreSQL database (single-node setup)
  • Release nodes

Limitations

  • At least three Release nodes are required to form a valid cluster.
  • PostgeSQL database is used for illustrative purposes. Use your own or an external database for production.
  • The MQ setup is for demo purposes. Use your own or an external MQ for production.
  • The HAProxy setup is for demo purposes. Use your own for production.

Steps

Follow these steps to deploy the sample:

  1. Download the Docker Compose sample to your working directory and modify as needed.

  2. (Optional) Download the run.sh script and update passwords as required.

  3. Start the containers using Docker Compose:

    docker-compose -f docker-compose-xlr-ha.yaml up --scale xl-release-master=2 -d

    This command will start all services in detached mode and scale the xl-release-master service to 2 instances. Adjust the scale as needed for your setup.

  4. (Optional) To check the status of the running containers:

    docker-compose -f docker-compose-xlr-ha.yaml ps
  5. View logs of individual containers:

    docker logs <container_name> -f
  6. Access the Release UI at: http://localhost:8081

  7. To shut down the setup, run:

    docker-compose -f docker-compose-xlr-ha.yaml down

For upgrade procedures, see Upgrading Multi-Node Docker Deployments.