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:

XiVO CC system configuration is stored in the /etc/docker/compose directory. All files are 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 MUST 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.

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

Factory env file

factory.env

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

Custom env file

custom.env

Editing basic XiVO CC configuration

In this file you can edit main configuration of XiVO CC originally set by the xivocc-installer:

  • XIVO_HOST

  • XUC_HOST

  • CONFIG_MGT_HOST

  • WEEKS_TO_KEEP

  • RECORDING_WEEKS_TO_KEEP

  • PLAY_AUTH_TOKEN (see Shared token)

Components customization

You can also change value of any option defined in the compose file. For example:

  • SHOW_RECORDING_CONTROLS

  • SHOW_QUEUE_CONTROLS

The option value must not be assigned inside the compose file, otherwise it will not apply.

Multi-server installation

Some XiVO CC components can run a separate server, but the installation procedure is not documented. For this purpose these variables can be set:

  • ELASTICSEARCH

  • REPORTING_HOST

  • RECORDING_SERVER_HOST

  • PLAY_AUTH_TOKEN (see Shared token)