Multi-node Docker deployments
The production setup for XL Release as described here can be done using Docker Compose as below.
This is a sample, you can follow this approach to setup the database and other infrastructure of your choice.
Note 1: For production deployments it is advised to use Kubernetes to orchestrate the deployment of the applications. Docker compose is not ideal for production setup. Proceed at your own risk. You can use xl up from the official XebiaLabs CLI to install XebiaLabs products using Kubernetes.
Note 2: For HA setup to work, you need to mount a licence file or provide an environment variable
XL_LICENSEwith a licence text converted to base64 for the XL Release instances
Note 3: The folders you mount needs to be owned by user 10001, for example, you can run
sudo chown -R 10001 xl-releaseif you are going to mount directories under
The setup includes
- A load balancer with HaProxy
- PostgreSQL database single node setup
- XL Release master nodes
- You can have only 2 master nodes
- The database setup is for demo purposes, use your own setup or use an external database
- The MQ setup is for demo purposes, use your own setup or use an external MQ
- The HAproxy setup is for demo purposes, use your own setup
Follow the steps mentioned below to deploy the sample:
- Save the following Docker Compose sample in your working directory, modifying it as needed.
- You can also save this run.sh file. Change the passwords as required.
- You can view the logs of individual containers using the
docker logs <container_name> -fcommand
- You can access XL Release UI at http://localhost:8081
- To shutdown the setup you can run below
# Shutdown deployments docker-compose -f docker-compose-xlr-ha.yaml down
For upgrade procedures please see Upgrading multi-node Docker deployments