Video Server & Video Recording#

Before installing this Role on the Carbonio infrastructure, make sure that you installed the Mailstore & Provisioning, because this role is required by the Carbonio VideoServer.

Install Packages#

This Role consists of Video Server and Video Recording. You need to install the latter only if you plan to record video meetings, otherwise you can install Video Server without Video Recording.

The Video Server Role requires that the Mailstore & Provisioning be already installed, because you need to execute a command on the Node hosting that Role to configure the Video Server.


In case you install this Role on a Node which already features the Mesh and Directory Role, make sure you do not install the service-discover-agent package.

Video Server
# apt install carbonio-videoserver service-discover-agent
# dnf install carbonio-videoserver service-discover-agent

During the installation of the packages, you need to insert the IP public address (i.e., the one that will accept incoming connections to the Carbonio VideoServer) on which the Carbonio VideoServer is installed.

After the installation, make sure that the IP address is present in the configuration file /etc/janus/janus.jcfg and add it if missing: find the variable nat_1_1_mapping and add it, for example: nat_1_1_mapping = ""

Configure the Carbonio VideoServer

During the installation, a command similar to the one below is displayed. Copy it and execute on the Node on which the Mailstore & Provisioning is installed.

zextras$ carbonio chats video-server add port 8188 \

Replace with the actual domain name or IP, 8188 the port associated with the Carbonio VideoServer, respectively, and A_SECRET_PASSWORD with the value of the variable api_secret in file /etc/janus/janus.jcfg on the Node installing the Video Server Role, for example:

api_secret = "+xpghXktjPGGRIs7Y7ryoeBvW9ReS8RQ"

Finally, enable and start the service with the commands

# systemctl enable videoserver.service
# systemctl start  videoserver.service
Video Recording
# apt install carbonio-videoserver-recorder
# dnf install carbonio-videoserver-recorder

The following manual command is required if the Video Recorder is installed at a later point. Make sure to use the same FQDN ( and secret (A_SECRET_PASSWORD) used to configure the Carbonio VideoServer.


A_SECRET_PASSWORD is saved as the value of api_secret in file /etc/janus/janus.jcfg (e.g., example api_secret = "+xpghXktjPGGRIs7Y7ryoeBvW9ReS8RQ").

zextras$ carbonio chats video-server update-servlet 8090

You can then enable the Video Recorder on a user, COS, or global level, please refer to section Configure Carbonio VideoServer Recording for directions.

The recorded sessions will be stored in directory /var/lib/videorecorder/ on the Node which features the Mailstore & Provisioning Role, because the ability to record requires a Node which features that Role. Make sure that the directory has sufficient free space, otherwise recorded videos can not be stored.


You can mount on that location a dedicated disk or partition and keep it monitored for space usage.

Bootstrap Carbonio#


# carbonio-bootstrap

The bootstrap command will execute a number of tasks and will set up the node. At the end, you will be prompted with a menu and, if you already configured all, you only need to click y for confirmation.

On RHEL 9 only, restart the node to ensure that Carbonio service management come under the control of systemd:

# reboot

Join Carbonio Mesh#

Carbonio Mesh is required to allow communication between Carbonio and its components. The configuration is interactively generated by command

# service-discover setup-wizard

This command will:

  • ask for the IP address and netmask

  • ask for the Carbonio Mesh secret, which is used for setups, management, and to access the administration GUI. See section Carbonio Mesh Administration Interface for more information.

    This password will be denoted as MESH_SECRET throughout the documentation.


    We suggest to use a robust password which is at least 16 characters long, including at least one of lowercase and uppercase letters, numbers, special characters and store it in a password manager.

    In case the password is lost or the credential file becomes corrupted and unusable, you can reset them using the procedure detailed in section Carbonio Mesh Credentials.

  • store the setup in file /etc/zextras/service-discover/cluster-credentials.tar.gpg

To complete Carbonio Mesh installation, run

# pending-setups -a


The secret is stored in file /var/lib/service-discover/password, which is accessible only by the root user.

Advanced Configuration#

You can configure some advanced settings of the Carbonio VideoServer, including codecs, audio settings, and more from the CLI: please refer to section Carbonio VideoServer.

Enable Chats#

Chats is disabled by default, you can enable it by running a few CLI commands that you can find in section Enable Chats.