Table of Contents

Loading ...

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:

  1. Install a Debian 11 Bullseye system with a default locale with an UTF-8 charset.

  2. 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

    Note: Ansible is a suite of software tools that enables infrastructure as code. It is open-source and the suite includes software provisioning, configuration management, and application deployment functionality. https://en.wikipedia.org/wiki/Ansible_(software)

  3. Extract the Wazo Platform installer

    git clone https://github.com/wazo-platform/wazo-ansible.git
    cd wazo-ansible
  4. (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
  5. Install the Wazo Platform installer dependency

    ansible-galaxy install -r requirements-postgresql.yml
  6. Edit the file 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 inventories/uc-engine:

    [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 inventories/uc-engine:

    [uc_ui:children]
    uc_engine_host

    The following variables allow you to create the root account at installation time, to be able to use the web user interface and an API user to be able to use the REST APIs:

    [uc_engine:vars]
    engine_api_configure_wizard = true
    engine_api_root_password = <YOUR_ROOT_PASSWORD>
    api_client_name = <YOUR_API_USERNAME>
    api_client_password = <YOUR_API_PASSWORD>

    Note: this API user will only have permissions for configuration REST API (wazo-confd).

  7. Launch the installation by running the following command:

    ansible-playbook -i inventories/uc-engine uc-engine.yml
  8. Once the installation completed, execute the following command to verify that all the Wazo services (wazo-plugind, wazo-webhookd, ...) are up and running:

    wazo-service status

Use the REST API

You may now use the REST API from outside your system (here wazo.example.com).

  1. Get an authentication token for 1 hour:

    Execute from the Debian system:

    wazo-auth-cli token create --auth-user <YOUR_API_USERNAME> --auth-password <YOUR_API_PASSWORD>

    Or with curl from anywhere:

    curl -k -X POST -u <YOUR_API_USERNAME>:<YOUR_API_PASSWORD> -H 'Content-Type: application/json' -d '{"expiration": 3600}' https://wazo.example.com/api/auth/0.1/token
  2. Use any REST API you want.

    Note: You must replace <YOUR_TOKEN> with the authentication token

    To obtain the version of Wazo:

    curl -k -X GET -H 'X-Auth-Token: <YOUR_TOKEN>' -H 'Content-Type: application/json'  https://wazo.example.com/api/confd/1.1/infos

    To list the telephony users configured on the system:

    curl -k -X GET -H 'X-Auth-Token: <YOUR_TOKEN>' -H 'Content-Type: application/json' https://wazo.example.com/api/confd/1.1/users

Optional post-install steps

You may now follow the optional post-install steps.