Installing Altus using docker-setup.sh scripts

Scope

This document applies only to the base installation of the Axia Altus virtual mixing console. Other topics, such as the setup and configuration of Beacon and Coturn (components required for WebRTC) are not covered here.

Prerequisites

  • Quay.io credentials. You must have your quay.io credentials and have previously been granted access to the Altus repository.

  • Ubuntu Server 20.04 is the recommended operating system and is fully supported by the installation scripts referenced in this document.

When installing Ubuntu server, do not select Docker as one of the installed components. Proper Docker versions are installed by the script. Pre-selecting the Docker install at the time Ubuntu is installed will cause the scripts to fail.  

Network determination.

Before beginning your installation, you need to determine what network type will be used. This is easily answered by the question, "Will you be installing multiple instances of the product on this server?" Some applications, like the ones we're installing here, expect to be directly connected to the physical network. In this situation, the macvlan network driver assigns a MAC address to each container’s virtual network interface, making it appear to be a physical network interface directly connected to the physical network. If you only install a SINGLE product, then no macvlan is required as the single container uses the same network interface and configuration as the host.  

It's not important for you to fully understand the macvlan network driver other than to know that if you say yes to multiple containers, you will need to manually assign an IP Address to EACH container you install as well as be required to know the default gateway used by the host.

Multiple container example.

  • Host (Ubuntu OS) was assigned the address 192.168.2.33 when you installed it.

  • Altus 1 - you are prompted for an address when the script runs.  Use the IP Address 192.168.2.34

  • Altus 2 - you are prompted for an address the second time you run the script. Use the IP Address 192.168.2.35

  • Altus 3 - you are prompted for an address the third time you run the script. Use the IP Address 192.168.2.35

You can use any available IP Address within the subnet defined when you installed the OS. In this example, they are sequential, but only because the author chose this and not for any other reason.

  • You will also be prompted for the default gateway. The licensing for Altus requires access to our cloud-hosted activation server. The product can not be activated or used without access to this server.

Running the script

The steps covered in this document are also repeated in this companion video.  Feel free to watch the video, follow the steps, or both.

  1. Using PuTTy or any other terminal program SSH to your server where you will install Altus.

  2. Copy and paste this string exactly as shown here.

(export TAG='0.5.0-altusforzpatch'; bash <(wget -qO- https://gitlab.zephyr.com/devops/docker-setup/-/raw/$TAG/docker-setup.sh -o /dev/null))
  1. Press ENTER to run the script

  2. Script processing continues. When prompted, enter your quay.io username and password by answering "y" to the Log in to quay.io? [y/n]: prompt.
    Look for the Login Succeeded message in the console window.

  3. The script will list any configured networks found on your server.  When prompted, select the NIC used for your AoIP traffic from the Select the AoIP NIC by typing the index number from the list above: prompt.
    In our example (from the video), we picked 0.

  4. The next question is an important one.  This information is explained in the video as well as above.  If you are installing multiple containers (more than a single instance of ANY product combination), answer Y to the Do you want to deploy multiple containers on this host? [y/n]: prompt.

  5. Verify that the Gateway displayed is correct and press ENTER to continue.

  6. The script continues, and you are prompted with a list of products available for installation.

  7. In this case, press 2 (we're installing Altus) and press ENTER.

  8. Complete the following requested information.

    1. Choose a name for the install directory. Files will be installed to /opt/telos/$NAME: In our case Altus34

    2. Set a value for 'TAG' (Version of software. Leave blank to use default):  Leave this blank unless instructed otherwise.

    3. Set a value for 'IPV4_ADDRESS' (IPv4 Address): In our example, 192.168.2.34.  Pick any open address in the subnet.

    4. Set a value for 'STUDIO' (Name of Studio): In our case Bryan1.  This could be Prod1, Edit1, etc.  Anything that descriptively describes this console.

  9. Once the files are pulled from quay, and the script returns to the product selection screen, the console is ready to use by entering the IP address specified in step 10-C in your web browser.

  10. Repeat steps 8 thru 10 if you are installing multiple instances.

Editing service files to allow multicast routing between containers.

By default, containers that use the macvlan network driver are isolated from each other. This means that multicast channels created in one container can not be accessed by other containers in the same macvlan. To get around this, a bridge interface is created, and routes are defined for this interface. We need to make some manual changes to this interface.

Here is a companion video for the steps covered here. Feel free to watch, read, or both.

  1. From the same SSH connection used to install Altus, run the command

sudo nano /etc/systemd/system/telos-mcast-iface-set.service

sudo tells the nano text editor program to run with elevated privileges so the changes can be written back to the file system. Your password is required for this.

When the editor opens, you will see there are three references to eth0, and these are the instances we need to change. Yours may NOT be eth0, but they need to be changed regardless.

  1. Using the arrow keys to navigate, delete the references to eth0 and replace them with telosmacvlan-br

  2. Press Ctrl + O to write out (save) the changes

  3. Press Ctrl + X to exit Nano

    The system needs to reload the information we just changed. You can reboot the entire unit, or;

  4. Run the command

sudo systemctl daemon-reload
  1. Run the command

sudo service telos-mcast-iface-set stop
  1. Run the command

sudo service telos-mcast-iface-set start

Complete your setup

By now, you should have running containers, and the remainder of the setup is completed via the web page for each console. You need to enter Licenses to fully activate the console (it will run in demo mode), create Source Profiles, Show Profiles, and output audio.

Let us know how we can help

If you have further questions on this topic or have ideas about improving this document, please contact us.