Multi-node Docker deployments
The production setup for 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. 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 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
- Release nodes
- Release should have at least 3 nodes to form a valid cluster
- 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 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