Docker
It is suggested to be familiar with the various kinds of roles for the on-premise deployment.
1. Hardware required for Docker Swarm
Below is the list of hardware required that you will need to provision.
Minimum CPU | Minimum RAM | Minimum Storage | Requires Public IP | VM | Open Public Ports |
---|---|---|---|---|---|
master | 8 core | 32GB | 250GB | Yes | TCP: 80,443 |
storage1 | 8 core | 32GB | 250GB | No | |
storage2 | 8 core | 32GB | 250GB | No | |
calling | 8 core | 32GB | 50GB | Yes | TCP: 80,443, 10000-20000 UDP: 10000-20000 |
websocket | 8 core | 32GB | 50GB | Yes | TCP: 80,443,7070,5222,5223 |
node1 | 4 core | 8GB | 50GB | No | |
node2 | 4 core | 8GB | 50GB | No | |
extensions | 4 core | 8GB | 50GB | Yes | TCP: 80, 443 |
2. Once the hardware and public IP's are ready
Please inform us of the IP's so that we can complete the required DNS record changes and configurations.
Ensure that the machines can connect to one another.
3. Install docker, docker compose are installed on all machines
Ensure that a recent docker (version 3.7
) with docker-compose is installed on all machines.
4. Download the On-Prem shared by CometChat
Which will be shared with you.
5. Begin bootstrapping master
This will be shared with you, and restricts the deployment by number. of attempts, the IP's , your customer metadata, billing and renewal with CometChat Pro.
cd cometchatpro-onprem-dockerswarm-1.0.0
._master_bootstrap.sh
Expected Logs
Step 1: Please paste the CometChat Pro On-Premise Token shared with you
Password:
Login Succeeded
Step 2: Starting Docker Swarm for CometChat Pro On-Premise
Swarm initialized: current node (....) is now a manager.
To add a worker to this swarm, run the following command:
docker swarm join --token ...
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
Step 3: Please run the above from node1 and node2
You are now ready to bootstrap the other machines. Once they are all bootstrapped, we will come back to master to complete the bootstrap.
6. Bootstrapping other machines
Docker, docker-compose and the CometChat Folder must be available.
# see step2 of bootstrap master
docker swarm join...
cd cometchatpro-onprem-dockerswarm-1.0.0
#on calling
._calling_bootstrap.sh
#on websocket
._calling_bootstrap.sh
#on node1, node2
._node_bootstrap.sh
#on extensions
._extensions_bootstrap.sh