LUNA CARS installation and configuration#
LUNA CARS installation algorithms are described for OS CentOS 8 Stream.
Before Installation#
Make sure that you are a root user before starting the installation.
Before installation, download and unzip the distributive archive and place the distributive files in a separate folder on the server.
1․ Install the archiver bzip2, the utility tar and the text editor nano if they were not installed:
yum install -y bzip2 tar nano unzip
2․ Go into the directory where the archive is placed and unzip the archive:
unzip cars-installer_v.v.2.14.0.zip
Also, before the installation it is important to disable Firewalld service and stop SELinux.
Disabling Firewalld and SELinux is essential when installing on Almalinux 8. For RedOS, these steps are required only if some configurations have already been applied on the OS. Adjusting these services may also help resolve system startup errors.
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․ Specify the value of the SELINUX=disabled variable. File example is 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
4․ Reboot the server to apply the changes:
reboot
Attention! For all subsequent steps and commands, paths will be specified relative to the unpacked cars-installer_v.v.2.14.0 directory. Before running any commands, make sure you are in the root of the unpacked distribution.
Preparation for licensing#
Before starting the licensing process, you must choose one of the two available license providers: HASP or Guardant. It is important to consult your VisionLabs manager in advance to determine which provider best suits your needs, as this choice will affect:
- The type of license (network or local)
- The software to be installed
- The method of license activation
HASP installation and configuration#
If the licensing method chosen is HASP, you need to install the HASP utility on the server.
If you use a separate server to download a network license, HASP must be installed manually.
1․ Go to the directory with the HASP utility distributive:
cd cars-installer_v.v.2.14.0/extras/hasp/
Make sure that you are in the correct directory with the HASP distribution and run the following commands to install the utility:
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 status of the utility using the command:
systemctl status aksusbd
If the utility is successfully launched, the result of the executed command will be the following message:
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 MSK; 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
Server Fingerprint#
A server fingerprint file is required to obtain a license.
The server fingerprint file must be generated while the HASP utility is running.
1․ Go to the ./extras/licenseAssist/bin directory.
2․ Generate server fingerprint using the following script:
./LicenseAssist fingerprint custom_name.c2v
3․ In some cases, an access error may occur. It is necessary to grant permissions to the script and repeat the process:
chmod +x LicenseAssist
4․ After completing the system fingerprint generation process, you must include it in the license request.
Send the fingerprint file (with the .c2v extension) together with the information mentioned in section Pre-installation general information to the VisionLabs technical support staff for the further license receiving.
Technical support staff will send an email with a license file in .v2c format. This file must be used for license activation.
License activation process is described below.
License activation using Guardant key#
This section describes license activation only using the Guardant key.
There are two methods for activation using the Guardant key: with Internet access on the server where you plan to activate the license, and without Internet access. The second method involves the use of an auxiliary server with Internet access.
Internet access available#
These steps are performed if the server that requires license activation has Internet access.
The sequence of actions for license activation:
1․ Request a license key from VisionLabs technical support staff.
2․ Install and launch Guardant Control Center (see below).
3․ Activate the license.
4․ Specify your server address in the GUARDANT_LICENSE_SERVER variable in the .env-vanilla file.
Note: When updating Guardant Control Center, you must request a new license key.
Installing and running Guardant Control Center
To activate the license, you need to launch the Guardant Control Center protection key management service. To do this:
1․ Go to the directory with the installation files for the Guardant key. This directory contains an archive with the necessary files for installation.
cd cars-installer_v.v.2.14.0/extras/grd/
2․ Extract the grd.tar.bz2 archive using the command:
tar -xjvf grd.tar.bz2
3․ After extraction, go to the unpacked directory and start the service with the following command:
./grdcontrol-3.29/install.sh
4․ To run GUI applications without physical display output, install the package:
yum -y install xorg-x11-server-Xvfb
5․ 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 license activation status should be displayed in the logs.
The Keys tab in the Guardant Control Center user interface
(http://<your_host_address>:3189/)displays the activated keys.
Specify your Guardant Control Center server address in the GUARDANT_LICENSE_SERVER variable in the .env-vanilla file.
Set the LICENSE_TYPE variable to guardant.
No internet access available#
The sequence of actions for license activation:
1․ Request a license key from VisionLabs technical support staff. 2․ Install and run Guardant Control Center (on the main server). 3․ Generate a request file on the main server. 4․ Install and start Guardant Control Center on the auxiliary server. 5․ Generate a license activation file on the auxiliary server. 6․ Activate the license on the main server.
Steps 1 and 2 are the same as in the activation procedure with internet access.
To generate a request file, install the package required to run GUI applications without physical display output:
yum -y install xorg-x11-server-Xvfb
Create a request file using the following command, specifying the path where you want the request file (vlabs.request) to 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 thevlabs.requestfile;bin/vlabs.license— the path where thevlabs.licenselicense 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
Specify the address of your Guardant Control Center server in the GUARDANT_LICENSE_SERVER variable in the .env-vanilla file.
Set the LICENSE_TYPE variable to guardant.
LUNA CARS installation using Docker#
Installation of the Docker and Docker-compose#
Installation on AlmaLinux-8#
Use the official guide to install Docker and Docker Compose on Almalinux 8. The version of the guide relevant at the time of writing is provided below.
1․ 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.
2․ Delete utilities that may cause conflicts:
yum remove podman runc
3․ Install additional dependencies:
yum install yum-utils
4․ Add the Docker repository to the package manager:
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
5․ Install Docker:
yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
In the following steps, when running this command, you need to press
yto confirm.
6․ Enable the Docker service:
systemctl enable docker
7․ Start Docker:
systemctl start docker
8․ Verify that Docker was installed correctly:
docker -v
9․ Verify that Docker Compose was installed correctly by checking its version:
docker compose version
Installation on RedOS Murom 7.3.2#
1․ Install Docker and Docker Compose:
dnf install docker-ce docker-compose
2․ Enable the Docker service:
systemctl enable docker
3․ Start Docker:
systemctl start docker
Note! This is not the next step after installation on AlmaLinux 8. This section describes the process of installing Docker and Docker Compose on a different operating system — RedOS Murom 7.3.2.
Configuring the «.env-vanilla» environment file#
The .env-vanilla file is located in the root of the installer distribution. Each parameter in the file has its own configuration recommendations.
A detailed description of the recommendations is provided in Appendix 2.
Warning! The
.env-vanillafile contains passwords and addresses that may be accessible to third parties, since the file is not protected from viewing by default. It is recommended to restrict access to the file using Linux tools. A description of Linux access rights is beyond the scope of this guide.
1․ Go to the directory where the distribution package is located.
2․ Use the ls -a command to check for the .env-vanilla files.
If the command is executed successfully, all files will be listed, including the .env-vanilla files:
-rw-rw-r--. 1 root root 8872 авг 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 user login and password for these parameters from VisionLabs technical support staff.
5․ After making the changes, save the .env-vanilla file.
The full list of environment file parameters in
.env-vanillais provided in Appendix 2.
License activation#
Method of license activation depends on its type, for more information, see section Pre-installation general information.
Connecting to an existing network license server#
1․ Set the value of the HASP_LICENSE_SERVER=test01.tests variable.
Example configuration file:
# LICENSE_TYPE LICENSE_TYPE can be «hasp-ldk» or «guardant»
LICENSE_TYPE=hasp-ldk
# HASP server address
HASP_LICENSE_SERVER=test01.tests
# HASP server response timeout (seconds)
HASP_WAIT_TIME=30
HASP_LICENSE_FILE=./empty
STREAM_LICENSE_FILE=./extras/license_files/license_example.conf
Network license activation#
To activate a network license on the main server where HASP is installed, you need to upload the received license file via the HASP web interface.
Before doing this, make sure that the required services are configured and that the web interface is accessible. To do so, follow these steps:
Configuring access to the web interface:
1․ Disable or configure the firewall and SELinux according to your environment to allow access to port 1947, which is used by the HASP interface.
2․ Install HASP (if not already installed) and configure it as follows:
3․ Open the /etc/hasplm/hasplm.ini file and add the following lines at the beginning:
[SERVER]
adminpassword =
accremote = 1
adminremote = 1
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.
4․ Restart the HASP service with the command:
systemctl restart aksusbd
Upload the license via the HASP web interface:
After configuring HASP, open a web browser and go to the following address (this address is accessible only on the server where HASP is installed):
http://<IP_address_HASP_server>:1947
2․ On the «Update/Attach» page, upload the license file and click «Apply File» (Figure 1).
3․ After the license is successfully uploaded:
The system will display a message about the successful upload of the license file (Figure 2).
4․ Configuring LUNA CARS:
Next, you need to configure the .env-vanilla file (for more information, see section 2.4.2): specify the IP address of the server with HASP installed in the HASP_LICENSE_SERVER parameter.
Example:
HASP_LICENSE_SERVER=<IP_address_of_HASP_server>
5․ Save the .env-vanilla file and exit the editor. After this, the installation of the LUNA CARS system will be successfully completed.
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.
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 cars-installer_v.v.2.14.0
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.shscript.The initial run of the script may take several minutes.
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_PORTvariable in the.env-vanillaconfiguration file.
To log in to CARS_Analytics as an administrator, use the following credentials:
- Login – admin@test.ru;
- Password – test_admin.
Stopping LUNA CARS using Docker#
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
Installing LUNA CARS without Internet access using Docker#
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 as described in section 2.4.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_restore.sh
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_PORTvariable in the.env-vanillaconfiguration file.
To log in to CARS_Analytics as an administrator, use the following credentials:
- Login – admin@test.ru;
- Password – test_admin.