Your first server
One server is a whole contact centre: it answers your numbers, runs your queues, serves the agents and keeps the recordings and the reporting. Most installations never need a second one.
What you need
- A machine running Ubuntu 24 or 22 — a cloud instance or one of your own.
- A number to call in on, from whichever carrier you use.
- Root on the box, and about ten minutes.
Install it
curl -fsSL https://www.xema.in/install-xema.sh | sudo bash
That puts the software on the machine and stops. It does not decide what the machine is for, and it does not switch anything on — those are yours, and they are the next two commands.
To follow the rolling build instead of the stable one:
curl -fsSL https://www.xema.in/install-xema.sh | sudo bash -s -- -d
Set it up
Give it a database. One command creates it, generates its password and records it where the software will look:
sudo xema connect-database --server localhost --user xema --provision
Make it a site. A site is the unit everything else belongs to — your queues, your agents, your numbers. On a single server it is a formality, and doing it now is what lets you add a second server later without starting again:
sudo xema cluster init --site <name>
Pick any name. main, your company's, the city it sits in.
Say what it runs, and start it:
sudo xema role add bff # the agents' side
sudo xema role add queue # the queues
sudo xema role add astermq # call events
sudo xema role add fastlane # this machine's telephony
sudo xema role add simplecdr # call records
sudo xema role add metrics # dashboards and reporting
sudo xema node apply
Add dialer as well if you are calling out, and bridge if agents will transfer, conference or
be coached.
Check it
xema status
Everything you declared should be running. Then open the admin pages in a browser at the machine's address, and add your first number, your first queue and your first agent.
When one server is not enough
Two reasons, and only two:
- More calls than one machine will carry. Adding a second server adds capacity to the same queues and the same reporting.
- Agents in more than one place, where each place should keep working on its own if the link between them goes down.
Both are the same next step: clusters and multiple sites.
Upgrading
curl -fsSL https://www.xema.in/install-xema.sh | sudo bash
The same command. It replaces the software and leaves your configuration, your recordings and your call history alone.