Installing the System
Requirements
Trying it out
Here are the system minimum requirements if you just want to try out a Wazo Platform instance:
- CPU: 1 CPU is enough for a test server
- Memory: 2 GiB of memory is a tight minimum for a test server
- Storage: 8 GiB is comfortable for a test server, except if you plan to use large firmware files for physical phones.
Production
Here are the expected resources for a small production installation of around 50 users:
- 2 CPU minimum
- 4 GiB RAM minimum
- 50 GiB storage minimum
Procedure
To install the Unified Communication use case in an all-in-one setup, do the following steps:
-
Install a Debian 11 Bullseye system with a default locale with an UTF-8 charset.
-
Run the following commands as root on the Debian system to provision sudo, git and Ansible:
apt update apt install -yq sudo git ansible curl
-
Extract the Wazo Platform installer
git clone https://github.com/wazo-platform/wazo-ansible.git cd wazo-ansible
-
(optional) By default, Wazo Platform will install the development version. To install the latest stable version
ansible_tag=wazo-$(curl https://mirror.wazo.community/version/stable) git checkout $ansible_tag
-
Install the Wazo Platform installer dependency
ansible-galaxy install -r requirements-postgresql.yml
-
Edit the Ansible inventory in
inventories/uc-engine
to add your preferences and passwords. The various variables that can be customized are described at https://github.com/wazo-platform/wazo-ansible/blob/master/README.md#variables.By default, Wazo Platform will install the development version. To install the latest stable version, activate the following settings in your inventory:
[uc_engine:vars] wazo_distribution = pelican-bullseye wazo_distribution_upgrade = pelican-bullseye
If you want to install the web user interface, activate the following in your inventory:
[uc_ui:children] uc_engine_host
To create the
root
account at installation time and be able to use the web user interface and REST APIs, you need to add the following variables:[uc_engine:vars] engine_api_configure_wizard = true engine_api_root_password = ****
-
Launch the installation by running the following command:
ansible-playbook -i inventories/uc-engine uc-engine.yml
Use the REST API
You may now use the REST API from outside your system (here wazo.example.com
).
-
Get an authentication token for 1 hour:
Using the
api_client_name
andapi_client_password
you defined in your inventory, you can execute from the Debian system:wazo-auth-cli token create --auth-user <api_client_name> --auth-password <api_client_password>
Or with curl from anywhere:
curl -k -X POST -u <api_client_name>:<api_client_password> -H 'Content-Type: application/json' -d '{"expiration": 3600}' https://wazo.example.com/api/auth/0.1/token
-
Use any REST API you want, for example, to list the telephony users configured on the system:
Note: You should replace the following values:
my-token
with the authentication token
curl -k -X GET -H 'X-Auth-Token: <my-token>' -H 'Content-Type: application/json' -d '{"firstname": "user1"}' https://wazo.example.com/api/confd/1.1/users
Note: the token that you have now only has permissions for configuration REST API (wazo-confd).
Optional post-install steps
You may now follow the optional post-install steps.