This Document will guide you how to install CloudCX on your own server.
At present, the installation strategy for different versions is slightly different. Please choose the installation strategy that suits you according to the actual situation. It is recommended to install the latest version.
If you want to install the latest version from scratch, please continue to read this article.
If you want to install version 3.2.2, please refer to https://cloudfon.atlassian.net/wiki/spaces/CCSD/pages/edit-v2/108527635?draftShareId=39faa894-ce54-45c9-bbf4-aec276c06f17
Installation Overview
We recommend that you separate the database from the application service during installation to increase its load. The calculation of the database will reduce the actual performance of the application, which will be described in detail in this article.
If you are just a demo deployment for testing, please refer to Testing Environment for additional instructions.
Supported Linux OS
Ubuntu 20.04 (LTS) Focal, Ubuntu Impish 21.10, Ubuntu 22.04 (LTS) Jammy
Debian Buster 10, Debian Bullseye 11, Debian Bookworm 12
It only supports 64bit OS
Installation of CloudCX is possible on most unix environments, but not officially supported
Install CloudCX Application Server
Application Server Hardware requirements
Storage
Applications Services basic storage
50G storage space is necessary for the installation of the application, which will be used for the storage of images and all kinds of log information.
Applications Files storage
For file storage, we support two methods: local storage and object storage. The necessary hard drive space largely depends on your usage, the size and number of attachments that you receive through your conversations etc.
Consider using a object storage option provided by AWS, Azure etc, if you want to stay flexible and accomodate the growing storage requirements. CloudCX also supports other s3 api compatible services for example: Minio.
Note: Local storage is recommended to be selected only in the test environment or if there is no large capacity expansion requirement in the future. We recommend using object storage to meet the storage expansion requirements that may exist in the future.
CPU
CPU requirements are dependent on the usage and expected workload. Your workload is influenced by factors such as - but not limited to - how active your users are, how many conversations do you recieve and the conversation channels which you are using.
The following is the recommended minimum CPU hardware guidance for a handful of example CloudCX conversation base sizes.
4 cores is the recommended minimum number of cores and supports up to 10,000 conversations a day.
8 cores supports up to 20,000 conversations a day.
More conversations? Consider scaling horizontally by adding more application servers.
NOTE: Each CPU core needs 2.5Ghz or Higher.
Memory
Memory requirements are dependent on the usage and expected workload. Your workload is influenced by factors such as - but not limited to - How active your users are, how many conversations do you recieve and the conversation channels which you are using.
The following is the recommended minimum Memory hardware guidance for a handful of example CloudCX conversation base sizes.
8GB RAM is the required minimum memory size and supports up to 10,000 conversations a day.
We are always working to reduce the memory requirement.
16GB RAM supports up to 20,000 conversations a day.
More conversations? Consider scaling horizontally by adding more application servers.
Note: Add at least 1GB of swap memory to the machine to ensure that the machine doesn't run out of resources during an upgrade.
Preparing the Linux Host Machine for CloudCX application Installation
Tasks that MUST be completed before installing CloudCX application
If the Linux on which CloudCX will be installed is located in LAN, assign a static LAN IP address; if it's in a public network, please assign a static IP address to the public network.
Install all available updates & service packs before installing CloudCX.
Do not install PostgreSQL on your CloudCX Server.
Ensure that all power-saving options for your System and Network adapters are disabled (by setting the system to High Performance).
Do not install TeamViewer, VPN, and other similar software on the host machine.
CloudCX must NOT be installed on a host that is a DNS or DHCP server.
Port must be permitted by your firewall: TCP: 9006, 9001, 443
Please also ensure the above ports have not been used by other applications.
Ensure server date-time is synced correctly, how to check date-time?
Ensure the server must have at least 8G of memory.
Please reserve 50G space to install & use the CloudCX application.
Should perform all Linux commands by the root user, please su root First.
Note: If the CloudfCX runs on a Cloud platform such as AWS, and the cloud platform has the firewall itself, you MUST open the ports on the cloud platform firewall too.
Application Server Installation Steps
NOTE: Before install Application Server, please reference https://cloudfon.atlassian.net/wiki/spaces/CCSD/pages/edit-v2/48857403#Install-CloudCX-Midware-Server to install Midware services(DB&Redis) first
1. Make directory and change directory
mkdir -p /opt/cloud_cx/ && cd /opt/cloud_cx/
Note: /opt/cloud_cx/ is an example here, you can change to your directory name, and this directory will storage user data.
2. Download install scripts
curl https://raw.githubusercontent.com/cloud-cx/cloudfon-cx-install/main/v3.3.x/cloud_cx_ctl.sh -o cloud_cx_ctl.sh
curl https://raw.githubusercontent.com/cloud-cx/cloudfon-cx-install/main/v3.2.x/install_docker_cx.sh -o install_docker_cx.sh
Note: cloud_cx_ctl.sh is an example here, you can download and rename to your name.
3. Install docker environment and configure firewall.
/bin/sh install_docker_cx.sh
4. Install CX Application Service
sh cloud_cx_ctl.sh run -i puteyun/cloud_cx:${tag} -t api -w ${db_addr} -m ${db_passwd} -r ${redis_passwd}
Note: Please MUST replace the Variables in the above command with the correctly value
${tag} is the release version of CloudCX, for example: 3.2.3
${db_addr} is the Database Server address of CX (Midware Services Address). It is recommended to keep the Midware in the same LAN for local installations or on the same switch for cloud installations to ensure better performance and connectivity.
${db_passwd} is the password of the database
${redis_passwd} is the password of the Redis
5. Login and configure the CloudFon CX.
Open Browser, input “https://host:9006/”, the “host” is the IP address or domain name of your CloudCX server (Linux Server).
IMPORTANT: To complete CloudCX initial configuration, please refer to 'System initialization' guide.
6. CX Control Commands
Show CloudCX services status
cd /opt/cloud_cx && /bin/sh cloud_cx_ctl.sh status
Restart CloudCX services
cd /opt/cloud_cx && /bin/sh cloud_cx_ctl.sh restart
Restart the selected service of CloudCX
cd /opt/cloud_cx && /bin/sh cloud_cx_ctl.sh restart -s [Service Name]
Stop CloudCX Services
cd /opt/cloud_cx && /bin/sh cloud_cx_ctl.sh stop
Stop the selected service of CloudCX
cd /opt/cloud_cx && /bin/sh cloud_cx_ctl.sh stop -s [Service Name]
Start CloudCX Services
cd /opt/cloud_cx && /bin/sh cloud_cx_ctl.sh start
Start the selected service of CloudCX
cd /opt/cloud_cx && /bin/sh cloud_cx_ctl.sh start -s [Service Name]
Uninstall CloudCX Services
cd /opt/cloud_cx && /bin/sh cloud_cx_ctl.sh rm
Install CloudCX Midware Server
Midware Server(MariaDB & Redis) Hardware requirements
Midware Server includes database and caching services,default database is MariaDB and the caching service is Redis. Normally, they will be deployed on the same server. You can install it with one click according to our Midware Service installation script.
Storage
The server running MariaDB & Redis should have at least 10 GB of storage available, though the exact requirements depend on the usage of your CloudCX Instance.
CPU
The server running MariaDB & Redis should have at least 4 cores of CPU, though the exact requirements depend on the usage of your CloudCX Instance.
Memory
The server running MariaDB & Redis should have at least 8 GB of RAM, though the exact requirements depend on the usage of your CloudCX Instance.
Preparing the Linux Host Machine for CloudCX Midware Server Installation
Tasks that MUST be completed before installing CloudCX Midware:
If the Linux on which Midware will be installed is located in LAN, assign a static LAN IP address; if it's in a public network, please assign a static IP address to the public network.
Install all available updates & service packs before installing Midware.
Do not install PostgreSQL on your Midware Server.
Ensure that all power-saving options for your System and Network adapters are disabled (by setting the system to High Performance).
Do not install TeamViewer, VPN, and other similar software on the host machine.
Midware must NOT be installed on a host that is a DNS or DHCP server.
Ensure server date-time is synced correctly, how to check date-time?
Ensure the server must have at least 8G of memory.
Please reserve at least 10G space to install the Midware application.
Midware recommends deploying on the same LAN as the CloudCX application server(It's best to use the same switch in the cloud)
Mideware can also be deployed under different switches in the cloud, which requires exposing the ports of the database and Redis. Firewall policies can be added to control that only CloudCX application servers are allowed to access.
Midware Server Installation Steps
Make directory and change directory
mkdir -p /opt/cloud_cx/ && cd /opt/cloud_cx/
Note: /opt/cloud_cx/ is an example here, you can change to your directory name, and this directory will storage user data.
Download install scripts
curl https://raw.githubusercontent.com/cloud-cx/cloudfon-cx-install/main/v3.3.x/cloud_cx_ctl.sh -o cloud_cx_ctl.sh
curl https://raw.githubusercontent.com/cloud-cx/cloudfon-cx-install/main/v3.2.x/install_docker_cx.sh -o install_docker_cx.sh
Note: cloud_cx_ctl.sh is an example here, you can download and rename to your name.
Install docker environment and configure firewal.
/bin/sh install_docker_cx.sh
Install CX Midware Services
sh cloud_cx_ctl.sh run -t mid -m ${db_passwd} -r ${redis_passwod}
Note: Please MUST replace the Variables in the above command with the correctly value
${db_passwd} is the password of the database what you want to set.
${redis_passwd} is the password of the Redis what you want to set.
Uninstall ClouCX
Please use the below steps to uninstall the Cloudfon CX for Linux.
Uninstall the CX
Stop and delete the CX Docker instances.
cd /opt/cloud_cx /bin/sh cloud_cx_ctl.sh stop /bin/sh cloud_cx_ctl.sh rm
The following command will delete all local data of CloudCX. Before you understand the consequences of the command you are executing, please carefully confirm that it is correct before executing it.
cd /opt/ rm -fr cloud_cx
Note: cloud_cx is an example here, you can change to your directory name, and this directory will store user data.
Single Machine Deployment (Only for Testing)
For Testing, you only need provide the basic 4 cores CPU and 8G RAM, and then follow below comand to install the CX Application and Midware on the same machine.
NOTE: Please follow https://cloudfon.atlassian.net/wiki/spaces/CCSD/pages/edit-v2/48857403#Preparing-the-Linux-Host-Machine-for-CloudCX-application-Installation to complete the Basic installation environment.
Testing Server Installation Steps
Before install Application Server, please reference https://cloudfon.atlassian.net/wiki/spaces/CCSD/pages/edit-v2/48857403#Install-CloudCX-Midware-Server to install Midware services(DB&Redis) first
Make directory and change directory
mkdir -p /opt/cloud_cx/ && cd /opt/cloud_cx/
Note: /opt/cloud_cx/ is an example here, you can change to your directory name, and this directory will storage user data.
Download install scripts
curl https://raw.githubusercontent.com/cloud-cx/cloudfon-cx-install/main/v3.3.x/cloud_cx_ctl.sh -o cloud_cx_ctl.sh
curl https://raw.githubusercontent.com/cloud-cx/cloudfon-cx-install/main/v3.2.x/install_docker_cx.sh -o install_docker_cx.sh
Note: cloud_cx_ctl.sh is an example here, you can download and rename to your name.
Install docker environment and configure firewall.
/bin/sh install_docker_cx.sh
Install CX Application Service
sh cloud_cx_ctl.sh run -i puteyun/cloud_cx:${tag}
Note: Please MUST replace the Variables in the above command with the correctly value
${tag} is the release version of CloudCX, for example: 3.2.3
Login and configure the CloudFon CX.
Open Browser, input “https://host:9006/”, the “host” is the IP address or domain name of your CloudCX server (Linux Server).
IMPORTANT: To complete CloudCX initial configuration, please refer to 'System initialization' guide.