﻿# Системные требования ELMA Cortex

> [HTML Version](cortex-system-requirements.html)

В статье приводятся системные требования для установки и корректной работы **ELMA Cortex**.

## Сервер ELMA Cortex

1. **Операционная система**.

| | |
|------|------|
| **Параметр** | **Значение** |
| **ОС** | Ubuntu Server 22.04 LTS\* или 24.04 LTS |
| **Архитектура** | x86\_64 (amd64) |


**\***LTS (Long Term Support) — версии Ubuntu с расширенной поддержкой обновлений безопасности в течение пяти лет.

2. **Минимальные требования к оборудованию**.

| | | |
|------|------|------|
| **Ресурс** | **Минимум** | **Рекомендуется** |
| **CPU** | 4 ядра, 2 GHz | 8 ядер |
| **RAM** | 16 ГБ | 32 ГБ |
| **Системный диск** | 50 ГБ SSD | 60 ГБ SSD |
| **Диск для данных** | 50 ГБ | В зависимости от объёма данных |


3. **Требования к сети**.

| | |
|------|------|
| **Пропускная способность** | Минимум 100 Мбит/с |
| **Входящие порты** | 443/tcp (HTTPS), настраивается при установке |
| **Исходящие соединения** | Доступ к API провайдера больших языковых моделей (OpenAI, YandexGPT, GigaChat и т. п. или локально развёрнутого провайдера) |


4. **Дополнительное программное обеспечение**.

| | |
|------|------|
| **Docker Engine** | Рекомендуется: 29.0+<br>Поддерживается: 24.0+  |
| **Docker Compose** | 2.20+ (входит в Docker Engine) |
| **Docker Swarm** | Встроен в Docker Engine. Необходим при установке **ELMA Cortex** в кластере. |


## Требования для интеграции с ELMA365

Для интеграции **ELMA Cortex** с платформой ELMA365 необходимо выполнение следующих условий:

| | |
|------|------|
| **Доменное имя** | Выделенное DNS-имя для сервера **ELMA Cortex**, например **cortex.company.ru**. |
| **TLS-сертификат** | Действующий SSL- или TLS-сертификат для указанного домена. |
| **Сетевая доступность** | Сервер **ELMA Cortex** должен быть доступен с сервера ELMA365 по HTTPS. |


### Поддерживаемые типы сертификатов

Для защиты соединения между пользователем и сервером можно использовать:

- сертификаты от публичных удостоверяющих центров — браузеры доверяют сертификату по умолчанию, рекомендуем применять этот вариант;

- сертификаты от вашего корпоративного удостоверяющего центра — его нужно добавить в список доверенных центров сертификации на стороне ELMA365;

- сертификаты, выпущенные с помощью Let’s Encrypt — для использования требуется публичный DNS и доступ к серверу **ELMA Cortex** из интернета.

## Расчёт дискового пространства

Дисковое пространство расходуется на две основные цели: установку серверного программного обеспечения и хранение пользовательских данных.

### Сервер

| | |
|------|------|
| **Компонент** | **Размер** |
| Docker-образы **ELMA Cortex** | ~3 ГБ |
| Docker-образы зависимостей (MongoDB, Redis, RabbitMQ, MinIO, Qdrant) | ~5 ГБ |
| Системные данные и логи | ~2 ГБ |
| **Итого** | **~10 ГБ** |


### Данные ELMA Cortex

Пространство, необходимое для хранения данных, зависит от их объёма:

| | |
|------|------|
| **Тип данных** | **Примерный расчёт** |
| Чаты и сообщения (MongoDB) | ~16 КБ на сообщение |
| Векторные индексы (Qdrant) | ~8-16 КБ на фрагмент документа |
| Загруженные файлы (MinIO) | Зависит от размера файлов |


## Масштабирование

В зависимости от объёма данных и количества пользователей, работающих с компонентами **ELMA Cortex**, может потребоваться увеличение ресурсов.

````
начало внимание

````
Масштабирование ресурсов при росте нагрузки доступно только в определённых [редакциях ELMA Cortex](cortex-editions.md).

````
конец внимание

| | | | |
|------|------|------|------|
| ````<br>**Параметр** | **Небольшая нагрузка** | **Средняя нагрузка** | **Высокая нагрузка** |
| **Пользователей одновременно** | 1–10 | 10–30 | 30+ |
| **CPU** | 4–8 ядер | 8–16 ядер | 16+ ядер |
| **RAM** | 16–32 ГБ | 32–64 ГБ | 64+ ГБ |
| **Диск (данные)** | 50–100 ГБ | 100–300 ГБ | 300+ ГБ |
| **Сеть** | 100 Мбит/с | 1 Гбит/с | 1+ Гбит/с |


**Важно**: точные требования зависят от сценариев использования, количества настроенных AI‑агентов и AI‑операций, объёма индексируемых данных и частоты запросов к языковой модели.

Для увеличения пропускной способности можно [настроить параметры производительности в файле переменных окружения](cortex-environment-variables.md#performance).

## Использование внешних сервисов

**ELMA Cortex** включает встроенные сервисы (MongoDB, Redis, RabbitMQ, MinIO, Qdrant), которые можно заменить на внешние управляемые сервисы, уже настроенные в вашей инфраструктуре. В этом случае не учитывайте требования к ним при расчёте ресурсов для установки **ELMA Cortex**.

О том, как включить использование внешних сервисов, читайте в [статье о настройке переменных окружения ELMA Cortex](cortex-environment-variables.md#external-services).

## Исходящие сетевые соединения

Серверу **ELMA Cortex** требуется доступ к внешним сервисам.

| | |
|------|------|
| **LLM Provider API** | API провайдера больших языковых моделей (OpenAI, Anthropic, YandexGPT, GigaChat и т. д.) |
| **Embedding API** | API для создания векторных представлений (может совпадать с провайдером больших языковых моделей) |
| **MCP-серверы** | Внешние MCP-инструменты, если они используются |
| **Источники данных** | Веб-страницы и API для индексации в базу знаний |


**Важно**: при установке в закрытом контуре требуется использование локальных провайдеров больших языковых моделей с OpenAI‑совместимым API.