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_LICENSE
with 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-release
if you are going to mount directories under$PWD/xl-release
folder.
Setup
The setup includes
- A load balancer with HaProxy
- PostgreSQL database single node setup
- Release nodes
Limitations
- 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
Steps
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> -f
command -
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