Skip to content

# General requirements

LUNA PLATFORM is delivered in Docker containers. Docker container LP images are required for installation. An Internet connection is required to download the Docker images to the server, or the images must be downloaded to any other device and transferred to the server. Authorization to the VisionLabs Docker registry is required to download Docker images.

LUNA PLATFORM can be deployed:

- by manually launching containers using Docker
- using the Docker Compose script
- in a Kubernetes cluster

The distribution package contains examples of the Docker Compose script and Helm charts for each service.

Running LUNA PLATFORM has been tested on the following versions of the above software:

- Docker: 25.0.3
- Docker Compose: 2.24.6
- Kubernetes: 1.27

> Testing in a Kubernetes cluster was performed using `ingress-nginx-controller:v1.10.0`.

> Testing was also performed in Minikube version 1.32. Minikube is for local testing and development only. In the production loop, you need to use a Kubernetes cluster.

It is not guaranteed to work with other versions of the above software.

Using the plugin mechanism requires developing scripts that take into account the syntax and functionality provided by Python 3.11 and higher.

LUNA PLATFORM services can be run on any OS that supports Docker. Running LUNA PLATFORM Docker containers is officially tested on AlmaLinux 9.5. All procedures in the installation manual are described for AlmaLinux 9.5. Running on other operating systems may have some peculiarities not described in this documentation.

Docker containers of LUNA PLATFORM services use Almalinux 9.5 except for the Remote SDK and Video Agent containers, which use Almalinux 8.

LUNA PLATFORM services can use both CPU and GPU processors. When deployed in a Kubernetes cluster, resource settings can be set in the Helm charts provided.

> See "Resource consumption by services" in the administrator manual for more information about resource consumption.

# Processors requirements

The configuration below guarantees software package minimum power operating and cannot be used for the production system. System requirements for the production system are calculated based on the intended system load.

## CPU

The following minimum system requirements should be met for the LUNA PLATFORM software package installation:

- CPU Intel, 8 physical cores minimum with clock frequency 2.0 GHz or higher. AVX2 instruction set support is required for CPU.

- RAM DDR3 (DDR4 recommended), 8 Gb or higher.

- Free storage size must be 80 Gb or higher.

> The amount of free space required on a disc or S3-like storage directly depends on the size of the database and Image Store buckets. If the database is very large, more than 80 GB may be required.

> It is recommended using SSD for databases and Image Store service.

## GPU

For GPU acceleration an NVIDIA GPU is required. Turing, Ampere, Ada Lovelace architectures are supported.

Compute Capability 6.1 or higher is required.

A minimum of 6GB or dedicated video RAM is required. 8 GB or more VRAM recommended.

CUDA version 12.4 must be installed where Remote SDK, Video Agent (optional) and Lambda (optional) service is deployed. The recommended NVIDIA driver is r550.

Important: There are some GPU-specific features for Minikube (see "Use GPU in Minikube" in Kubernetes deployment manual).

# Processor requirements for network inference

This section provides recommendations for selecting CPUs and GPUs for running neural networks in LUNA PLATFORM. Following these recommendations will ensure maximum performance and computational accuracy.

## CPU recommendations

We recommend using Intel Pentium Gold series processors or higher. These processors support advanced instruction sets, such as AVX512 FMA, which significantly improves performance when running neural network calculations. When choosing a processor, choose models with a high number of cores, as this directly impacts computational efficiency.

## GPU recommendations

Only server-grade graphics cards are supported for GPU computing.

Gaming GPUs are not recommended for running neural networks in LUNA PLATFORM due to compatibility and performance limitations.

Below is a list of recommended GPUs that provide stable performance with LUNA PLATFORM:

Microarchitecture | Compute Capability | GPU
--- | --- | ---
Turing | 7.5 | NVIDIA Tesla T4
Ampere | 8.0 | NVIDIA A30
Ampere | 8.0 | NVIDIA A100
Ampere | 8.6 | NVIDIA A40
Ampere | 8.6 | NVIDIA A10
Ampere | 8.6 | NVIDIA A16
Ampere | 8.6 | NVIDIA A2
Ada Lovelace | 8.9 | NVIDIA L4
Ada Lovelace | 8.9 | NVIDIA L40

# Third-party applications requirements

The following third-party services are used by default with LUNA PLATFORM 5.

- PostgreSQL is used as a default database for Faces, Configurator, Events, Handlers, Lambda, Tasks and Admin services.

> You can also use the Oracle database instead of PostgreSQL for all services except the Events service. The installation and configuration of Oracle are not described in this manual.

- Redis DB is used for Faces and Sender services.

- InfluxDB is used for monitoring.

Balancers and other software can be used when scaling the system to provide fail-safety. The installation guide provides recommendations on launching Nginx container with a configuration file to balance requests to the API, Faces, Image Store, and Events services.

The following third-party applications versions are recommended for LP launching:

- PostgreSQL: 16.1
- Oracle: 21c (if used instead PostgreSQL)
- Redis: 8.6
- InfluxDB: 2.0.8-alpine
- Grafana: 8.5.20 (optional)
- Grafana Loki: 2.7.1 (optional)
- Nginx: 1.17.4-alpine (optional)

> These versions were tested by VisionLabs specialists. Newer versions can be used if needed, but they are not guaranteed to work.

It is recommended to use the `unzip` package to unpack the distribution. The command to download the package is given in the installation manual.

If you need to use an external database and the VLMatch function, you need to download additional dependencies described in the "External DB" section of the installation manual.

PostgreSQL, Redis, InfluxDB, Grafana and Nginx docker containers can be downloaded from the VisionLabs registry.