Skip to content

LUNA CARS installation and configuration#

LUNA CARS installation algorithms are described for OS Almalinux 8.

Before installation#

The installer distribution is an archive named cars-installer_v.2.15.0.zip, where v.2.15.0 is the version of the installer included in the delivery.

The archive contains configuration files required for installation and usage. It does not include Docker images for the services, these must be downloaded separately from the Internet.

The preparation consists of several steps:

1․ Download the distribution 2․ Move the distribution to the server 3․ Continue preparation for installation

Important! Make sure you are logged in as the root user before starting the installation.

To log in as the root user and connect to the server via SSH, open the terminal and execute the following command:

ssh root@server_IP_address

Where:

  • root — the administrator user.
  • server_IP_address — the IP address of the server.

Then, enter the password for the root user and press Enter.

After successfully entering the password, you will gain access to the server with root privileges and can execute administrative commands.

Downloading the distribution#

1․ Download the distribution from the link provided by the VisionLabs manager.

2․ Once the distribution is downloaded, move the file to a directory on your server, for example, /root/. Ensure that there are no other files or distributions in this directory except the target file.

Transferring the distribution#

To transfer a file from your computer to the server and vice versa, you can use the winSCP utility or any other file transfer method. Below are detailed steps for using winSCP.

1․ Download and install winSCP.

2․ Launch the program and fill in the fields (Figure 1) in the connection window:

Parameter Value Example
File protocol SFTP or SCP SFTP
Host name Server IP address 192.168.0.233
Port number Port number 22 (default)
User name Username on the server root
Password User password your_password
Example of filling in the new connection window in winSCP
Figure 1. Example of filling in the new connection window in winSCP

3․ Click the «Login» button.

If a warning about an unknown host appears, click «Yes» or «Accept» to add the server to trusted hosts.

After a successful connection, the winSCP interface will open (Figure 2), divided into two panels:

  • Left panel — your computer
  • Right panel — the remote server
Example of the winSCP interface after connection
Figure 2. Example of the winSCP interface after connection

File Navigation:

On the server (right panel):

  • Double-click on a folder to enter
  • Use the ← → buttons for navigation
  • The path is displayed in the address bar

On the computer (left panel):

  • Select a disk from the dropdown list
  • Navigate to the required folder (e.g., Downloads)
  • Use the ← → buttons for navigation

Transferring Files to the Server

1․ In the left panel, locate the file on your computer.

2․ Left-click and hold the file.

3․ Drag it to the right panel (the server).

4․ Release the mouse button.

Continue preparation for installation#

After moving the distribution to the /root/ folder, perform the following steps:

1․ Create a directory for unpacking the distribution file:

mkdir -p /var/lib/luna/cars

2․ Move the distribution to the created directory:

mv /root/cars-installer_v.2.15.0.zip /var/lib/luna/cars

3․ Install the bzip2 archive tool, the tar utility, and the nano text editor if they are not already installed:

yum install -y bzip2 tar nano unzip

4․ Navigate to the directory:

cd /var/lib/luna/cars

5․ Unzip the distribution:

unzip cars-installer_v.2.15.0.zip

Create a symbolic link. It indicates that the current version of the distribution file is being used to run LUNA CARS.

ln -s cars-installer_v.2.15.0 current

SELinux и Firewall#

Also, before the installation it is important to disable Firewalld service and stop SELinux.

For the system to function correctly, proper configuration of Firewalld and SELinux is required. Since the configuration of third-party security systems is not covered in this guide, we will temporarily disable these services. For AlmaLinux 8, disabling Firewalld and SELinux is mandatory. For RedOS, these steps are required only if any preliminary configurations have already been applied to the system.

SELinux: Keep in mind that changes take effect only after a system reboot.

1․ Disable Firewalld service

systemctl disable --now firewalld

2․ Stop SELinux. Open configuration file SELinux in the text editor

nano /etc/selinux/config

3․ Set the variable value to SELINUX=disabled, the remaining lines do not require changes. An example of the file is provided below.

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted #(by default)

The key combinations are given for the English keyboard layout.

After changing the variable value, to save the file, press Ctrl + O and to confirm saving, press Y, then to exit — Ctrl + X.

You can also press Ctrl + X right away, and you will be prompted to save the changes. To confirm saving, press Y, and then you will be asked for the file name — just press Enter.

4․ Reboot the server to apply the changes

reboot

License activation#

Before starting the licensing process, you need to choose one of the two available license providers: HASP or Guardant. It is important to consult with a VisionLabs manager in advance to determine which license provider best suits your needs, as this will affect the following aspects:

  • License provider (HASP or Guardant)
  • License type depending on the provider
  • Software to be installed
  • License activation method

License activation with HASP#

This section describes the process of installing and configuring HASP, as well as license activation.

There are two options for license activation: network license and trial license.

Before starting the activation, the following actions must be performed depending on the selected license type:

  • For a network license, you first need to install and configure HASP, and then proceed with activation.
  • For a trial license, the activation process is described below.

Trial license activation with HASP#

The activation process includes the following steps:

1․ Request a trial license: Send a request to obtain a trial license.

2․ Receive the license file: The VisionLabs representative will send the license file in .v2c format.

3․ Upload the license file: Upload the received .v2c license file to the server.

4․ Specify the path: Specify the path to the file in the .env-vanilla file (Configuring the environment file .env-vanilla).

To activate the trial license, you need to obtain a license file with the .v2c extension from a VisionLabs representative. To do this, send a request, and the VisionLabs representative will send you the file in .v2c format.

After receiving the license file, upload it to the server where HASP is installed and make sure the file is located in a directory that is accessible for license configuration. This is important because you will need to specify the path to the file in the configuration file.

Instructions for transferring files from your computer to the server are described above in the Transferring the Distribution section.

Network License Activation with HASP#

To activate a network license on the main server where HASP is installed, you need to upload the license file received from the VisionLabs representative in .v2c format via the HASP web interface.

The activation process includes the following steps:

1․ Install and configure HASP.

2․ Obtain the server fingerprint.

3․ Send the fingerprint: Send the fingerprint file in .c2v format to the VisionLabs representative to obtain the license.

4․ Receive the license file: The VisionLabs representative will send the license file in .v2c format.

5․ Upload the license file: Upload the received .v2c license file via the HASP web interface.

6․ Specify the server address: Set the server address in the HASP_LICENSE_SERVER variable in the .env-vanilla file (Configuring the environment file .env-vanilla).

Installing and Configuring HASP#

If the HASP licensing method was chosen, you need to install the HASP utility on the server.

1․ Navigate to the directory containing the installation files for HASP. This directory contains the archive with the necessary files for installation:

cd /var/lib/luna/cars/current/extras/hasp/

2․ Unzip the archive with utility

tar -xjvf aksusbd-8.tar.bz2

3․ Go to the directory with installation file

cd aksusbd-8/

4․ Run installation and starting script

./dinst

5․ Check the current status of the utility using the command

systemctl status aksusbd

If the utility started successfully, the output will be similar to the following. Pay attention to the Active line: if it shows Active: active (running), then everything is working correctly.

aksusbd.service - LSB: Sentinel LDK RTE
   Loaded: loaded (/etc/rc.d/init.d/aksusbd; bad; vendor preset: disabled)
   Active: active (running) since Tue 2025-06-29 16:32:43 EST; 1 day 19h ago
     Docs: man:systemd-sysv-generator(8)
   CGroup: /system.slice/aksusbd.service
           ├─909 /usr/sbin/aksusbd
           ├─920 /usr/sbin/winehasp
           └─953 /usr/sbin/hasplmd -s

After checking the status, press Q to exit the status check.

Obtaining the Server Fingerprint#

The server fingerprint file must be generated while the HASP utility is running.

1․ Navigate to the directory:

cd /var/lib/luna/cars/current/extras/licenseAssist/bin/

2․ Generate the system fingerprint using the following script:

./LicenseAssist fingerprint > test.c2v

3․ In some cases, an access error may occur. To fix this, you need to grant execution permissions to the script and repeat the process:

chmod +x LicenseAssist

4․ After the fingerprint generation process is complete, you need to include it in the request for obtaining the network license.

Send the system fingerprint file (with the .c2v extension) along with the information specified in the section Pre-installation general information to the VisionLabs representative for further license processing.

Instructions for transferring files between your computer and the server are described earlier in the Transferring the Distribution section.

The VisionLabs representative will respond with a license file in .v2c format. This file must be used to activate the network license.

Configuring the HASP Web Interface#

Make sure that the necessary services are set up on the server and that access to the web interface is available. Follow these steps:

1․ Open the file using the following command:

nano /etc/hasplm/hasplm.ini

2․ Add the following lines at the beginning of the file:

[SERVER]
adminpassword =
accremote = 1
adminremote = 1

The key combinations are given for the English keyboard layout.

When the file opens, it will already contain some lines. To add new lines at the top, press Enter several times to create empty space, and then paste the copied content.

To paste the copied text, use one of the following keyboard combinations: Shift + Insert or Ctrl + Shift + V.

After making the changes, to save the file, press Ctrl + O and to confirm saving, press Y, then to exit — Ctrl + X.

You can also press Ctrl + X right away, and you will be prompted to save the changes. To confirm saving, press Y, and then you will be asked for the file name — just press Enter.

These lines enable remote administration and remote access.

Important: If the hasplm.ini file does not contain emsurl lines, add them manually.

For example, your file may look like this:

[SERVER]
adminpassword =
accremote = 1
adminremote = 1
emsurl = http://LDK:8080
emsurl = https://LDK:443

Note: The emsurl lines define the URLs for connecting to the HASP server. Ensure they correctly point to your server.

3․ Restart the HASP service with the command:

systemctl restart aksusbd

Uploading the License via the HASP Web Interface#

1․ After configuring HASP, open a web browser and go to the following address:

http://<IP_address_HASP_server>:1947

2․ On the «Update/Attach» page, add the license file (in .v2c format) and click the «Apply File» button (Figure 3).

HASP Web interface
Figure 3. HASP Web interface

3․ After the successful license upload:

The system will display a message confirming the successful upload of the license file (Figure 4).

Successful license upload message
Figure 4. Successful license upload message

Network License activation with Guardant Key#

This section describes the process of activating a network license using a Guardant key.

There are two options for activating a network license with a Guardant key: with internet access on the server where the license activation is planned, and without internet access. In the second case, an auxiliary server with internet access will be required.

Internet access available#

These steps are performed when there is an internet connection available on the server where the license activation is required.

The sequence of actions for license activation:

1․ Request the license key from the VisionLabs representative.

2․ Install and launch Guardant Control Center (see below).

3․ Activate the license.

4․ Specify the server address in the GUARDANT_LICENSE_SERVER variable in the .env-vanilla file (Configuring the environment file .env-vanilla).

Note: When updating Guardant Control Center, you will need to re-enter the license key.

Installing and launching Guardant Control Center#

To activate the license, you need to start the Guardant key management service, Guardant Control Center. To do this:

1․ Navigate to the directory containing the installation files for the Guardant key. This directory contains the archive with the necessary installation files.

cd /var/lib/luna/cars/current/extras/grd/

2․ Extract the grd.tar.bz2 archive using the following command:

tar -xjvf grd.tar.bz2

3․ Navigate to the extracted directory:

cd grd/linux/

4․ Make the license_wizard file executable:

chmod +x license_wizard

5․ Extract the archive:

tar -xvf grdcontrol-3.29.tar.gz

6․ Navigate to the directory:

cd grdcontrol-3.29/

7․ Start the installation using the following command:

./install.sh

8․ Check the current status of the utility using the command:

systemctl status grdcontrol.service

If the utility started successfully, the output will be similar to the following. Pay attention to the Active line: if it shows Active: active (running), then everything is working correctly.

grdcontrol.service - grdcontrol service
   Loaded: loaded (/root/cars-installer_v.2.15.0.rc/extras/grd/grd/linux/grdcontrol-3.29/grdcontrol.service; vendor preset: disabled)
   Active: active (running) since Mon 2025-11-27 22:10:00 EST; 1 day 3h ago
     Docs: /root/cars-installer_v.2.15.0.rc/extras/grd/grd/linux/grdcontrol-3.29/grdcontrold.properties
   CGroup: /system.slice/grdcontrol.service
           ├─12345 /root/cars-installer_v.2.15.0.rc/extras/grd/grd/linux/grdcontrol-3.29/grdcontrol
           ├─12346 /root/cars-installer_v.2.15.0.rc/extras/grd/grd/linux/grdcontrol-3.29/x86_64/grdcontrold
           └─12347 /usr/bin/java -jar /root/cars-installer_v.2.15.0.rc/extras/grd/grd/linux/grdcontrol-3.29/x86_64/grdcontrold.jar

After checking the status, press Q to exit the status check.

9․ To run GUI applications without physical display output, install the package

yum -y install xorg-x11-server-Xvfb

10․ Go back to the following directory

cd /var/lib/luna/cars/current/extras/grd/grd/linux/

11․ Run the license activation command, replacing your_license_key with the key received from VisionLabs technical support staff

xvfb-run ./license_wizard --console --activate "your_license_key" --host "https://ga.visionlabs.ai:9999/"

The activation status should appear in the logs.

The Keys tab in the Guardant Control Center user interface (http://<your_host_address>:3189/) displays the activated keys.

No Internet Access#

The sequence of actions for license activation:

1․ Request the license key from the VisionLabs representative.

2․ Install and launch Guardant Control Center (on the main server).

3․ Generate the request file on the main server.

4․ Install and launch Guardant Control Center on the auxiliary server.

5․ Generate the license file on the auxiliary server.

6․ Activate the license on the main server.

To generate the request file, install the package designed for running interface applications without physical screen output.

Steps 1-8 are the same as for activation with internet access.

yum -y install xorg-x11-server-Xvfb

Create the request file using the following command, specifying the path where the request file (vlabs.request) should be saved:

xvfb-run ./license_wizard --console --activate-request bin/vlabs.request

For the auxiliary server, Guardant Control Center must also be running. Transfer the vlabs.request file to the auxiliary server.

To generate a license file on the auxiliary server, run the command:

xvfb-run ./license_wizard --console --activate-response your_license_key bin/vlabs.request bin/vlabs.license --host "https://ga.visionlabs.ai:9999/"

Where:

  • your_license_key — the key provided by VisionLabs technical support staff;
  • bin/vlabs.request — the path to the vlabs.request file;
  • bin/vlabs.license — the path where the vlabs.license license activation file will be saved.

Transfer the vlabs.license license activation file back to the main server. Activate the license using the following command, specifying the path to the vlabs.license license activation file:

xvfb-run ./license_wizard --console --activate-offline bin/vlabs.license

LUNA CARS installation#

Installation of the Docker and Docker-compose#

Preparation for Installation on AlmaLinux-8#

This section describes the preparation process for installing Docker and Docker Compose on AlmaLinux-8, not the installation itself. The preparation includes installing the necessary utilities on the AlmaLinux-8 operating system.

Use the official guide for installing Docker and Docker Compose on AlmaLinux 8.

1․ Navigate to the main directory where your unpacked distribution is located:

cd /var/lib/luna/cars/current

2․ Run the command for Docker and Docker-compose previous versions deletion

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

If the files are not found, an error may appear — this is normal and can be safely ignored.

3․ Delete utilities that may cause conflicts

yum remove podman runc

You will be prompted for additional confirmation. To save, press «Y», after which the message «Done!» will appear.

4․ Install additional dependencies

yum -y install yum-utils

5․ Add the Docker repository to the package manager

yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

6․ Install Docker

yum -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin

7․ Enable the Docker service

systemctl enable docker

8․ Start Docker

systemctl start docker

9․ Verify that Docker was installed correctly

docker -v

10․ Verify that Docker Compose was installed correctly by checking its version

docker compose version

11․ Check the current status of the utility using the command

systemctl status docker

Pay attention to the Active line: if it shows Active: active (running), then everything is working correctly.

After checking the status, press Q to exit the status check.

Preparation for Installation on RedOS Murom 7.3.2#

Attention! This is not the next step after the installation on AlmaLinux-8. This section describes the preparation process for installing Docker and Docker Compose, not the installation itself. The preparation includes installing the necessary utilities on the operating system — RedOS Murom 7.3.2.

1․ Install Docker and Docker Compose:

dnf -y install docker-ce docker-compose

2․ Enable the Docker service:

systemctl enable docker

3․ Start Docker:

systemctl start docker

Configuring the environment file .env-vanilla#

The .env-vanilla file is located in the root directory of the installer distribution. Each parameter in the file has its own configuration recommendations.

Detailed recommendations are provided in Appendix 2.

Warning! The .env-vanilla file contains passwords and addresses that may be accessible to third parties, as the file is not protected from viewing by default. It is recommended to restrict access to the file using Linux tools. Access control descriptions in Linux are beyond the scope of this guide.

1․ Navigate to the main directory where your unpacked distribution is located:

cd /var/lib/luna/cars/current

2․ Use the ls -la command to check for the presence of the .env-vanilla file.

If the command is successful, all files, including .env-vanilla, will be listed:

-rw-rw-r--.  1 root root  8872 Aug  6 10:55 .env-vanilla

3․ Before installation, you need to configure the account for downloading distributions. Open the .env-vanilla file in a text editor:

nano .env-vanilla

4․ Fill in the values for the DOWNLOAD_USER and DOWNLOAD_PASSWORD parameters.

Request the login and password for these parameters from the VisionLabs representative.

5․ Specify the licensing yype

If you are using the HASP licensing type:

  • Network HASP License

Specify the IP address of the server with the installed HASP in the HASP_LICENSE_SERVER parameter. In the LICENSE_TYPE parameter, specify the licensing type: hasp-ldk.

Example configuration:

# LICENSE_TYPE
LICENSE_TYPE=hasp-ldk

# HASP server address
HASP_LICENSE_SERVER=test01.tests
  • Trial HASP License

Specify the IP address of the server with the installed HASP in the HASP_LICENSE_SERVER parameter. In the LICENSE_TYPE parameter, specify the licensing type: hasp-ldk. In the HASP_LICENSE_FILE parameter, specify the path to the license file you received from the VisionLabs representative (you can use the full path, for example, /var/lib/luna/cars/cars-installer_v.2.15.0/test.v2c, or relative to the current directory).

Example configuration:

# LICENSE_TYPE
LICENSE_TYPE=hasp-ldk

# HASP server address
HASP_LICENSE_SERVER=test01.tests
HASP_LICENSE_FILE=./test.v2c

If you are using the Guardant licensing type:

Specify the address of the Guardant Control Center server in the GUARDANT_LICENSE_SERVER parameter, and in the LICENSE_TYPE parameter, specify the licensing type: guardant.

Example configuration:

# LICENSE_TYPE
LICENSE_TYPE=guardant

# Guardant server address
GUARDANT_LICENSE_SERVER=test01.tests

6․ After making the changes, save the .env-vanilla file.

The key combinations are given for the English keyboard layout.

After making the changes, to save the file, press Ctrl + O and to confirm saving, press Y, then to exit — Ctrl + X.

You can also press Ctrl + X right away, and you will be prompted to save the changes. To confirm saving, press Y, and then you will be asked for the file name — just press Enter.

Attention:

You do not need to change parameters for the demo stand. If this is not a demo stand, it is recommended to change the parameters listed in Appendix 1 (the full list of .env-vanilla environment file parameters is provided in Appendix 1) only after consulting with a VisionLabs engineer.

Starting installation with Docker#

The installation script is located in the root directory of the installer distribution. Go to the root directory of the distribution:

cd /var/lib/luna/cars/current

If this command does not work, it means you are already in the root directory of the distribution and can proceed to the next step.

Run the installation script:

./docker_start_all.sh vanilla

vanilla is the standard operating mode of the system. If the startup is successful, after installing all components, a message will appear: CARS started in Vanilla mode.

You may also see the message No persistent log storage exists!. This means that logs will be lost after a reboot, since persistent log storage (journald) is not enabled. To enable journald (log persistence), refer to the comments in the docker_start_all.sh script.

During the initial launch, images are downloaded from the repository, which may take some time. Subsequent launches will be faster.

Starting the system#

After a successful installation, open the following address in your browser to access the web interface:

http://<IP_address>:8080

This is the default port. The port is defined by the ANALYTICS_FRONTEND_PORT variable in the .env-vanilla configuration file.

To log in to CARS_Analytics as an administrator, use the following credentials:

  • Login – admin@test.ru;
  • Password – test_admin.

Stopping LUNA CARS#

To stop the LUNA CARS system, regardless of the configuration of the running components, run the stop script from the root directory of the installer distribution:

./docker_stop_all.sh

Troubleshooting#

1․ License expired. Example of an error message in the CARS_Stream container logs:

stream_1 | E0323 03:30:44.465771 61 LicenseChecker.cpp:14] [23.03.2023 03:30:44] [Error] [Session] Sentinel protection key not available. (HASP_HASP_NOT_FOUND).
stream_1 | E0323 03:30:44.465786 61 LicenseChecker.cpp:48] Licensing. Feature with id = 303 doesn't exist.
stream_1 | E0323 03:30:44.465792 61 main.cpp:213] Couldn't initialize app

If you see a similar error, it means that the license has expired or is not available. To resolve this issue, contact VisionLabs technical support staff to obtain an updated license.

2․ License mismatch with hardware. Example of an error message in the CARS_Stream container logs:

stream2_1 | E0317 05:52:01.408428 20 LicenseChecker.cpp:59] Licensing error. Maximum number of processors for this machine is equal 8, current number of processors is equal 72

If this error appears in the container logs, it means that the number of processors specified when requesting the license does not match the actual number of processors on the server. To resolve this issue, contact VisionLabs technical support staff and provide the current CPU core count of your server.

Installing LUNA CARS without Internet access#

If the server where you plan to run LUNA CARS does not have Internet access, follow these steps:

The target server must have Docker, Docker Compose, and HASP installed.

1․ Prepare the system on a server that does have Internet access by editing the .env-vanilla file (the values for the DOWNLOAD_USER and DOWNLOAD_PASSWORD parameters must be filled in to complete Step 2)

2․ Run the script to save Docker images:

./docker_save_all.sh

3․ Transfer the resulting installer distribution to the target server using any convenient method.

4․ On the target server, run the script to restore Docker images:

./docker_start_all.sh vanilla

5․ Verify that the system is working by opening the web interface in a browser at the following address:

http://<IP_address>:8080

This is the default port. You can change the port using the ANALYTICS_FRONTEND_PORT variable in the .env-vanilla configuration file.

To log in to CARS_Analytics as an administrator, use the following credentials:

  • Login – admin@test.ru;
  • Password – test_admin.