2.1. Installing Boro Solution

2.1.1. Introduction

The present chapter describes the preparation of the server and the procedure for self-installation of the Boro Solution Server software.

Prerequisites

  • Links to download the archive for the Boro Solution Server installation are provided by the Elecard technical support upon request.

  • We recommend unzipping the archive on the target server with Linux OS. During the archive unpacking on the Windows OS, script execute permissions are being corrupted. You may restore permissions of the files using the following command: chmod +x <scriptName.sh>

  • Before starting the automatic installation, you need to specify the custom settings in the installation scripts. You should edit the scripts in text editors on the target server that mitigates the risk of adding any unforeseen changes to files content (e.g., replacing spaces with tabulation marks, etc.). Scripts cannot be edited within the Windows OS due to different types of line breaks in Windows and Linux systems.

  • For the server installation, the Internet access is required. The installation speed depends on the network bandwidth and the CPU. The installation time approximately takes 20-30 minutes.

  • Access to certain non-default repositories may be required when installing the server. See the Installing the Boro Solution Server section.

2.1.2. Preparing the Server

Selecting a platform

Before the Boro Solution Server installation, an appropriate platform should be chosen. The system characteristics of a platform directly affect the future system performance, as well as the ability to properly receive and process statistical data. Thus, for processing 300-500 input streams of analytical data coming from a probe, the platform with the following characteristics is required:

  • CPU 4 cores 3 GHz

  • RAM 16 GB

  • HDD 1 TB

The Server software is being continuously improved, and adding new features increases the system resources utilization. Projects with a large number of input streams require a detailed analysis and an individual approach. Contact with the Elecard technical support team to request assistance in the platform selection.

Disk space size

For the correct operation of the Boro Solution Server software and the operating system, at least 100 GB of disk space is required.

Additionally, the Boro Solution Server uses a database for aggregation of thumbnails, statistics and other data. We recommend using a separate partition of a hard drive or a partition within a dedicated disk array for the database location. The database size can be significantly large and directly proportional to the data storage depth.

It is estimated that a disk space requires 100 MB per one analysed task for a day. However, the used storage depends greatly on a thumbnail capture frequency

100 MB - is the minimum disk volume required for monitoring with default settings (capturing thumbnails each 10 seconds). When thumbnail capture interval reduces to 1 second, the daily volume increases up to 250-370 MB. In this time, the share of thumbnail volume reaches 90-95%. During capturing, thumbnails are saved in the jpeg format and scaled to 128 px in width (number of pixels in height depends on aspect ratio of the original video). The average size of a single thumbnail equals to 4-5 KB. Thus, the daily volume required to store thumbnails at a capture frequency of 1 second is 400 MB per a task.

Statistics for analyzed tasks is stored during 14 days; however, it should be considered that statistics for the current day is accumulated separately. By the end of the day, the total storage depth will reach 15 days until daily data cleanup occurs. In this way, 150 GB of a disk space is the approximate volume for storing statistics for 100 streams during 14 days with default analysis settings.

For final estimation of required storage, the following conditions should be considered:

  • Type of analyzed service. When monitoring OTT services, statistics storage requires an average of 20-25% more space compared to monitoring IPTV services. Important: analysis of each media representation of OTT service is a separate task; when analyzing MPTS, the accumulated data volume is approximately equal to volume created during analysis of each program separately. These aspects should be considered when calculating the total number of tasks, as well as the set OTT analysis mode (Player/AllRenditions).

  • Server operating logs. With frequent thumbnail capture, the volume of the Boro Solution Server logs increases. From 10 to 20 GB may be additionally required for storing server logs.

To increase the reliability of data storing, we recommend using the RAID 1 disk array. If there is a big number of input streams, IOPS (input/output operations per second) of the storage system should be considered. This can require the usage of SSD and/or more complex array layouts: RAID 5(6,10). SSD usage is definitely recommended when the task number equals to 1000.

Traffic

Outgoing traffic:

  • 25/TCP - protocol for sending e-mails (SMTP);

  • 53/TCP/UDP - DNS;

  • 80/TCP - Webhook and Telegram notifications;

  • 443/TCP - Webhook and Telegram notifications.

Inbound traffic:

  • 80/TCP (required) - for communication of the client browser with the server;

  • 8443/TCP (required, default) – for communication of the probe with Boro Solution Server;

  • 3478/UDP/TCP/SCTP, 3479/UDP/TCP/SCTP (default) - for establishing the peer-to-peer connection between the probe and the browser to download records.

Note

For establishing peer-to-peer communication (WebRTC), random ports are used. In case the firewall blocks random ports, a TURN server will be used for communication (via port 3478).

The total traffic between the server and the probe:

For the total traffic volume estimation, 10 kbit/s is required for one data stream. One program, one media representation, one variant stream equals to one data stream. To a large extent, the average traffic depends on the thumbnail capture frequency and Media playlists sizes for HLS.

Installing Operating System

Boro Solution Server supports:

  • Rocky 8/AlmaLinux 8/RHEL 8 (Minimal Install)

Attention

Script for installation Boro Solution Server supports the mentioned OS only. It cannot be installed on Windows OS.

When installing the operating system:

  1. it is enough to create a superuser account, all necessary accounts will be created during the automatic installation of the Boro Solution Server application;

  2. if there are no specific requirements, use the ext4 or xfs filesystem.

To update all installed packages, use the following command:

sudo dnf update

2.1.3. Installing the Boro Solution Server

Prerequisites

Important: The following repositories will be automatically added to the operating system when the installation script is executed:

  1. pgdg - for PostgreSQL [https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm];

  2. nginx - FOR web-server [http://nginx.org/packages/rhel/8/$basearch/];

  3. epel - for STUN/TURN server (optional) [https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm].

Installing the Server

  1. Download the installation archive and copy it to the server where you want to install Boro Solution Server. You can download the archive in each preferred folder.

  2. Create a temporary folder and unpack the archive using the following command:

TMP_DIR="$(mktemp -d)"
dnf install -y tar
tar -C "$TMP_DIR" -xf "/PATH/TO/BoroSolution.install_VERSION.DATE.NUM.tgz"
  1. Open the “$TMP_DIR”/boro_install_variables.sh script in a text editor and change values for the following variables:

  • SERVER_PUBLIC_NAME=server.boro (required) - a domain name or IP address of a server.

  • If you use proxy for the Internet access, remove comments from the following strings:

    # export http_proxy=http://192.168.1.1:3128
    # export https_proxy=http://192.168.1.1:3128
    
  • DB_DEST_DIR=/home - a path where database (the pgsql folder) will be transferred during installation. By default, the database is installed at the ./home directory. Significant additional disk space is required for storing database (depends on the task number and the data storage depth). If necessary, you can specify another folder for storing database files.

    Attention

    It is not recommended to specify home directories of any other users, since a DBMS will not have the access to files and folders.

    You may use the following handy commands to view the partition information:

    # Partitions, their sizes, and mount points:
    df -T | grep -Ev 'tmpfs|loop|overlay'
    # Block devices information:
    lsblk -e 7
    
  • # export NTP_SERVER=172.16.1.9 (optional) - IP address or a domain name of an NTP server for time synchronization via the chronyd service. To add a new server for synchronization, remove a comment and specify an address. You can specify the domain name in the following manner: export NTP_SERVER=server_name, export NTP_SERVER="server_name", export NTP_SERVER='server_name'.

    Attention

    It is important to have the synchronized date and time on a machine for correct operation of Boro Solution. Using an NTP server is a mandatory requirement.

  • # export INSTALL_TURNSERVER=0 - remove a comment from this command to disable installation of a STUN/TURN server.

  1. Run the installation script of Boro Solution Server as root:

sudo "$TMP_DIR/install.sh"

The installation procedure is carried out in several stages. For each stage, the installation progress is displayed. Upon installation completion, you will see the FINISH message and statuses of the installed services.

../_images/installedServices.png

When the Boro Solution server is installed, installation logs will be saved in the $TMP_DIR/BoroSolution.install_log.YYYY-MM-DD.UNIX_TIMESTAMP.txt file. If any issues arise during server installation, send this file to the Elecard technical support team.

To delete temporary files created during installation, use the command:

[ "${TMP_DIR#/}" -a -d "$TMP_DIR" ] && sudo rm -rf "$TMP_DIR"
  1. Open in the browser the http://SERVER_PUBLIC_NAME/users/sign_in page where instead of SERVER_PUBLIC_NAME enter the public IP or the server domain name specified in the boro_install_variables.sh file. The installed server has the single account by default, use the following credentials to log in the Boro server:

    admin@admin.com - e-mail of the default user
    adm1n678 - password to log in

Note

Due to security reasons, please change the password on first login.

2.1.4. Installing certificates

The certificates are required for installing the purchased license on the server and for establishing an encrypted channel between the probe and the server using the https protocol. To install a license, you need to go through following steps and exchange the certificates with the Elecard technical support team:

  1. Go to the Certificates management tab http://SERVER_PUBLIC_NAME/admin?tab=certificates and fill in the following fields for a CSR certificate creation:

../_images/fillingCsrForm.png
*Country - the server location country;
State - area/region;
*City - city;
*Organization - company name;
Department - department name;
*Server hostname or IP - public IP or domain name of the server for which the certificate should be issued.
*Email - email address of the contact person in the customer company.

Fields marked with an asterisk are required.

After filling in the fields, click the Create CSR button. Send the downloaded certificate to Elecard engineers.

  1. Upload to the server certificates sent back from the Elecard technical support:

  • xxxxxxxxxxx.limit.cert.pem (Limit certificate)

  • xxxxxxxxxxx.cert.pem (Https certificate)

Upload the certificates in the corresponding fields and click the Upload Certificates button:

../_images/certificateUploading.png

The page will refresh and uploaded certificates will take effect. For the installed license, its details and status will display.

2.1.5. Initial Testing

The initial installation verification is successful login under the default admin@admin.com account.

Secondly, try to run a probe from the different machine.

If any verification procedure fails, please contact with the Elecard technical support team.