Sign inSign up

trueconf/trueconf-server

By trueconf

•Updated 9 days ago

TrueConf Server

Image
3

10K+

trueconf/trueconf-server repository overview

⁠Quick reference

⁠What is TrueConf Server?

TrueConf Server is a powerful, high-quality and highly secured video conferencing software server. It is specially designed to work with up to 1,600 participants in a multipoint conference over LAN or VPN networks. TrueConf Server requires no hardware and includes client applications for all popular platforms, making it an easy-to-set up, unified communications solution.

TrueConf Server video conferencing platform can be installed both on Windows OS⁠ and on various Linux distros⁠. For even more convenient deployment you can use this Docker container that already contains TrueConf Server.

https://trueconf.com/products/server/video-conferencing-server.html⁠

⁠How to use this image

In order to run the following commands you should have sudo app, while user’s name has to belong to the respective group. If you’d like to check whether you have sudo installed, please run sudo -V command. If you don’t have sudo by default, you can install it by using apt install sudo (it should be run under the root account). To add another user with user login to the sudo group, please run sudo usermod -a -G sudo user. You should also add this user to the docker group as shown in the official guide⁠.

⁠Step 1. Downloading and running TrueConf Server container

This article shows how to install run TrueConf Server container on Debian 10.

In order to create and run TrueConf Server container from an image automatically, the docker run⁠ command is used. If you don’t have image file in your system it will be downloaded automatically from the public repository:

sudo docker run [OPTIONS] trueconf/trueconf-server:stable

where [OPTIONS] are additional parameters. For instance, a command which is run the first time:

sudo docker run -d --network=host -p 80:80 -p 443:443 -p 4307:4307 -e ADMIN_USER=tc_admin -e ADMIN_PASSWORD=12345 -v /home/user/trueconf/server:/opt/trueconf/server/var/lib trueconf/trueconf-server:stable

downloads TrueConf Server image, then creates and runs the container in the background, and returns control of the terminal to the user. Meanwhile, all the necessary ports for TrueConf Server operation will be open. The control panel access is given to the admin with username tc_admin and password 12345, while TrueConf Server working directory will be mounted to the host directory by the path /home/user/trueconf/server.

Below we will review some of the used parameters which we can combine with the standard Docker options described in the official guide⁠. For instance, you can enter key --name in order to give name to the container for more convenient usage.

⁠Host network connection (–network=host)

In order to establish the container connection with the network run the command --network=host. It allows you to simply use the host network connection and not to open all the necessary TrueConf Server ports⁠.

If you have specified this parameter, it will not be necessary to configure port forwarding described below. However, you have to make sure that the required ports are opened on the host machine, at least 80, 443, and 4307.

⁠Port forwarding (-p [host_port]:[container_port]/[protocol])

Binding of the host machine port [host_port] to port [container_port] of the container using [protocol] (if not specified, tcp is used by default). Port ranges are specified in the same way, e.g. -p 53000-55000:53000-55000/udp. It is required to forward ports mandatory for TrueConf Server: 80, 443, 4307.

If you need to provide access for TrueConf Server additional ports, (e.g. for WebRTC), you should also specify them:

sudo docker run -d -p 80:80 -p 443:443 -p 4307:4307 -p 53000-55000:53000-55000/udp -e ADMIN_USER=tc_admin -e ADMIN_PASSWORD=12345 -v /home/$USER/trueconf/server/lib:/opt/trueconf/server/var/lib trueconf/trueconf-server:release

⁠Setting environment variables (-e [variable]=[value])

Setting environment variables for the container. You can set:

  • -e ADMIN_USER=tc_admin -e ADMIN_PASSWORD=password – creates a TrueConf Server admin account with login tc_admin and password password inside the container. Please note that this user is not related to host OS users, which is why you can use any authorization data.

  • -e INIT_DB=true – creates a database cluster for initial use in the force mode. The database is mounted on the host volume. This option erases all the previous TrueConf Server settings such as registration information, user and group list, conferences profiles, etc. Only video conference recordings will be saved, however they won’t be displayed in the control panel.

  • -e ServerID=xxxx -e Serial=xxxx -e ServerName=xxxx – automatic TrueConf Server registration (if you have already received TrueConf Server registration key⁠), where:

    • ServerID – Server ID⁠
    • Serial – registration key without the first four or five characters, e.g., if your registration key is AAAAA-BBBB-CCCC-DDDD, you should enter BBBB-CCCC-DDDD
    • ServerName – domain name (FQDN) to get the access to the server, e.g., video.company.name. Please note that to start registration you should enter all the three parameters at once.
  • -e ServiceAddress – external video conferencing server address to get access outside the corporate network. If it’s not set, it will be ServerName by default.

⁠Mounting directories (-v [host_path]:[container_path])

Mounting [host_path] directory on the host to the [container_path] container directory. You can use a directory mounting to save log files and other generated server data to the [host_path] path. It includes such data as server settings, accounts, conferences list, recordings, SSL certificates and user scripts, etc. After the container stops, the data is saved and is available next time the container is running. If the [host_path] doesn’t exist on the host, it will be created automatically.

We will show available paths for mounting with examples below:

  • -v /home/user/trueconf/server:/opt/trueconf/server/var/lib – saving all the files in TrueConf Server working directory except for the log files in the /home/user/trueconf/server host directory.
  • -v /home/user/trueconf/server/log:/opt/trueconf/server/var/log – saving log files that generate only when TrueConf Server is running in the /home/user/trueconf/server/log host directory.
  • -v /path/to/custom/certs:/ssl – specifies path to the /path/to/custom/certs host directory with SSL certificate files to be used by the server in the container. In order to apply SSL certificates after the mounting, please open the TrueConf Server control panel, go to Web → HTTPS section and select Use custom certificate in the HTTPS Mode drop-down list. Click Test configuration and Apply to save changes.
  • -v /path/to/custom/scripts:/setup.d – command for /path/to/custom/scripts volume mounting with additional sh scripts files to be run at the container startup.
⁠Stopping and restarting the container

To stop the container, please run the command:

sudo docker stop vcs_server

where vcs_server is your container’s name or ID. To find out this parameter, please run the command sudo docker ps -a, and you will get a full list of containers and information about their statuses.

To restart the container that has been stopped earlier, please run the command:

sudo docker start vcs_server

⁠One-time container running

For testing purposes you may need to run one-time container. This container will be deleted automatically after its stop. You can do it by running --rm.

Here’s how one-time container launch command with an admin’s login and password specified will look like:

sudo docker run --rm --network=host -p 80:80 -p 443:443 -p 4307:4307 -e ADMIN_USER=tc_admin -e ADMIN_PASSWORD=12345 trueconf/trueconf-server:stable

⁠Step 2. Registering TrueConf Server

If you didn’t register your TrueConf Server earlier by using -e key , you can register it via the TrueConf Server control panel⁠. Open the control panel in the browser on any of your local network computers and enter the IP address of the server where the container is running.

⁠Step 3. Adding TrueConf Server administrators

Before adding new users with admin access to the TrueConf Server control panel, please make sure that the container has been run, and its directory /opt/trueconf/server/var/lib has already been mounted to the /home/user/trueconf/server directory on the host as shown before.

These are the three authorization files which have to be created by executing the following command:

sudo touch /home/user/trueconf/server/docker/passwd /home/user/trueconf/server/docker/tcadmins /home/user/trueconf/server/docker/tcsecadmins

where

  • passwd – a login and an encrypted password
  • tcadmins – a list of server administrator logins with full access
  • tcsecadmins – a list of server administrator logins with Security Admin access level⁠.

After that please follow the next steps:

  1. Install apache2-utils⁠ utility package which contains htpasswd to manage secret passwords: sudo apt install -yq apache2-utils

  2. Generate a password for a new login. The password will be saved as passwd file in the directory from which the terminal has been run: htpasswd -c -d -b passwd new_admin password where

    • new_admin – a new admin’s login
    • password – password
  3. Add content from the generated passwd file to the /home/user/trueconf/server/docker/passwd file. The file is on the volume which is mounted on the host. For this purpose you can use a text editor such as vim or nano. Please run it under the root account or using sudo. You can also run the command: sudo bash -c 'cat passwd >> /home/user/trueconf/server/docker/passwd'

  4. Add the admin login you have created either to tcadmins or tcsecadmins file, depending on the level access you want to grant to the admin: sudo bash -c 'echo new_admin >> /home/user/trueconf/server/docker/tcadmins'

  5. To check if you have added admins successfully, please visit TrueConf Server guest page, click Administrator login and sign in with a new account.

⁠Step 4. Adding container to run automatically

In order to start TrueConf Server container automatically⁠, e.g, after host machine reboot, please use --restart key. You can specify the key by running the update command⁠:

sudo docker container update --restart always vcs_server

where vcs_server is your container’s name or ID.

You can also do it at the time when the container is running.

You can view information about the container which is running by using sudo docker ps command.

Tag summary

Content type

Image

Digest

sha256:264a9a102…

Size

1.1 GB

Last updated

9 days ago

docker pull trueconf/trueconf-server:5.5.5.10303