Components Configuration

Important

When reading this section, keep in mind the Architecture & Flows diagram.

Overview

This section describes files installed by xivocc-installer. Some of these files may be modified for these reasons:

  • Components customization
  • Multi-server installation

XiVO CC system configuration is stored in the /etc/docker/compose directory. All files ale configured by the xivocc-installer and don’t need to be edited. The directory contains these files:

  • docker-xivocc.yml, called compose file, defines XiVO CC components and their configuration. It uses variables defined in the .env file.
  • .env file assigns values to variables used in the compose file. But this file is being generated by xivocc-dcomp script and should not be edited directly.
  • factory.env file stores XiVO CC version number and distribution and should not be edited.
  • custom.env file may be used for component customization and multi-server installation.

Compose File

docker-xivocc.yml

Sections

  • The main headers in the compose file (without indent) are container names.
  • image - links to container image url on https://hub.docker.com/r/ page.
  • ports - exposes container internal ports to host in format HOST:CONTAINER.
  • volumes_from - mounts all of the volumes from another container
  • environment - adds environment variables into container system
  • extra_hosts - adds host address to /etc/hosts
  • links - adds another container’s host address to /etc/hosts

See detailed documentation on docker web.

Variables

Compose file contains more kinds of variables:

  • Variable in the environment section without assignment is replaced by the same variable from .env file. If it’s not defined or assigned in the .env file, it doesn’t appear in the container system.
  • Variable in the environment section with assigned value overrides value defined in the .env file.
  • Variable defined in the links section can be assigned to variable in the environment section.
  • Variable inside ${ } block is replaced by value defined in .env file and can be used anywhere.

Variables in the factory.env file

This file should not be edited. XiVO CC version matches version of xivocc-installer and the other distributions are only for testing purposes.

  • XIVOCC_TAG - XiVO CC version number
  • XIVOCC_DIST - XiVO CC distribution

Variables in the custom.env file

All variables listed below can be edited or added to this file. But variables which are assigned inside compose file must be first unassigned from there.

List of variables shared across containers

Main components addresses and ports:

  • XIVO_HOST
  • XUC_HOST
  • XUC_PORT

Customizable addresses and ports for multi-server installation:

  • CONFIG_MGT_HOST
  • CONFIG_MGT_PORT
  • RECORDING_SERVER_HOST
  • RECORDING_SERVER_PORT

Other:

  • JAVA_OPTS - allocates Java memory and sets other Java options. If you want to use different values for containers, they must be assigned inside compose file. Or you can define new variable for this purpose - e.g.: JAVA_OPTS=JAVA_OPTS_XUC and set the value in the custom.env file.

List of docker containers and their variables

  • pgxivocc
    • POSTGRES_PASSWORD
  • postgresvols
  • xivo_replic
    • ELASTICTTL
    • DISABLEELASTIC
  • xivo_stats
  • pack_reporting
    • WEEKS_TO_KEEP
  • elasticsearch
  • kibana_volumes
  • fingerboard
  • nginx
  • spagobi
  • recording_rsync
  • config_mgt
  • recording_server
    • RECORDING_WEEKS_TO_KEEP
  • xuc
    • XIVO_AMI_SECRET
    • XIVO_AMI_PORT
    • XIVO_CTI_VERSION
    • API_eventUrl
    • XIVO_DIRD_PROFILE
    • SECURED_KRB5_PRINCIPAL
  • xucmgt
    • SHOW_RECORDING_CONTROLS
    • SHOW_CALLBACKS
    • SHOW_QUEUE_CONTROLS
    • THIRD_PARTY_URL
    • ENFORCE_MANAGER_SECURITY
    • USE_SSO
  • timezone
  • xivocclogs