Skip to content

Системные требования

Требования ниже относятся к односерверному развёртыванию.

Состав развёртывания

СервисНазначениеПостоянные данные
frontendВеб-интерфейс и проксирование запросов к backend.Нет.
backendAPI, бизнес-логика и фоновые обработчики.Да, volumes l1-support-backend-config и l1-support-backend-logs.
postgresОсновные данные системы.Да, Docker volume postgres_data.
redisКэш и временная координация фоновых задач.Нет, данные считаются временными.
minioФайлы и вложения.Да, Docker volume minio_data.
migrateПрименение миграций PostgreSQL перед запуском backend.Нет, одноразовый сервис.
minio-mcСоздание бакета и технического пользователя MinIO.Нет, одноразовый сервис.

Все сервисы по умолчанию запускаются на одном Docker-сервере в общей bridge-сети.

Аппаратные ресурсы

КонтурCPURAMСистемный дискДиск данных
Демонстрация и функциональное тестирование2 vCPU4 ГБ20–30 ГБ SSDот 20 ГБ
Начальная промышленная конфигурация4 vCPU8 ГБ40–60 ГБ SSDот 100 ГБ
Повышенная нагрузка8 vCPU16 ГБ80–100 ГБ SSD/NVMeот 250 ГБ
Высокая нагрузка или повышенные требования к доступностиПо результатам нагрузочного тестированияот 32 ГБNVMeотдельные PostgreSQL и S3-хранилище

Это предварительные ориентиры, а не гарантированные показатели производительности. Итоговая конфигурация зависит от:

  • числа одновременно работающих пользователей;
  • количества создаваемых обращений и сообщений;
  • интенсивности IMAP/SMTP-обмена;
  • количества и размера вложений;
  • срока хранения файлов и резервных копий;
  • требований к времени отклика и восстановлению после сбоя.

Программная платформа

  • 64-разрядный Linux;
  • архитектура хоста, совпадающая с архитектурой образов поставки; базовый целевой вариант — amd64;
  • Docker Engine 24 или новее;
  • Docker Compose Plugin v2.20 или новее; Compose v1 не поддерживается;
  • включённый автозапуск Docker после перезагрузки сервера;
  • curl и openssl для проверки установки и генерации секретов;
  • Nginx и Certbot, если TLS завершается непосредственно на Docker-сервере;
  • корректная синхронизация времени через NTP.

Рекомендуемые базовые дистрибутивы: минимальная установка Ubuntu Server 22.04/24.04 LTS или Debian 12 без графической оболочки.

Применение Astra Linux, ALT Linux, RED OS и других дистрибутивов требует предварительной проверки совместимости конкретной версии Docker Engine и образов поставки.

Проверьте окружение перед установкой

bash
uname -m
docker version
docker compose version
systemctl is-enabled docker
timedatectl status

Для рабочих мест рекомендуется актуальная версия Chromium-based браузера или Firefox ESR с включёнными JavaScript, cookies и доступом к обоим публичным адресам системы.

Входящие соединения

В промышленной среде снаружи публикуются только порты reverse proxy.

ОткудаКудаПортНазначение
Let's Encrypt и рабочие местаreverse proxy80/TCPHTTP-01 и перенаправление HTTP на HTTPS.
Рабочие местаreverse proxy443/TCPВеб-интерфейс, REST API и WebSocket.
Рабочие места, схема с одним DNSreverse proxy9443/TCPS3 API, загрузка и скачивание файлов.
Только reverse proxy на Docker-сервереfrontend9090/TCP локальноВеб-интерфейс.
Только reverse proxy на Docker-сервереbackend9100/TCP локальноREST API и WebSocket.
Только Docker-серверPostgreSQL9101/TCP локальноАдминистрирование и диагностика БД.
Только Docker-серверRedis9102/TCP локальноДиагностика Redis.
Только Docker-серверMinIO Console9103/TCP локальноАдминистрирование MinIO.
Только reverse proxy на Docker-сервереMinIO S3 API9104/TCP локальноФайлы и вложения.

При двух DNS-именах веб-интерфейс и S3 API публикуются через разные виртуальные хосты на 443/TCP, поэтому 9443/TCP не требуется. При временном запуске без reverse proxy рабочим местам нужны прямые доступы к 9090/TCP и 9104/TCP. В промышленной конфигурации порты 9090 и 91009104 не должны быть доступны из внешней сети.

Исходящие соединения

ОткудаКудаПортКогда требуется
Docker-серверContainer Registry443/TCP или порт registry, например 5050/TCPЗагрузка образов в контуре с registry.
Docker-сервер и backendDNS-серверы53/UDP, при необходимости 53/TCPРазрешение имён.
Docker-серверNTP-сервер123/UDPСинхронизация времени.
BackendLDAP/LDAPS389/636 TCPАутентификация через LDAP/AD.
BackendIMAP/IMAPS143/993 TCPПолучение входящей почты.
BackendSMTP25/465/587 TCPОтправка почты.
BackendDaData443/TCPПодсказки организаций при включённой интеграции.
Рабочие местаПубличный S3 endpoint443/TCP или 9443/TCPЗагрузка и скачивание файлов.

Если используется LDAP/AD, контейнеру backend должны быть доступны корпоративный DNS, контроллеры домена и требуемые LDAP/LDAPS-порты.

DNS и TLS

Для промышленной установки предпочтительно подготовьте два DNS-имени, например:

  • l1.example.org — веб-интерфейс;
  • s3.l1.example.org — S3 API.

Оба адреса должны быть доступны с рабочих мест и защищены действующими TLS-сертификатами. Внутреннее имя контейнера minio нельзя использовать как публичный S3 endpoint.

Если выделено только одно DNS-имя, допустима публикация S3 API на отдельном TLS-порту:

  • https://l1.example.org — веб-интерфейс, REST API и WebSocket;
  • https://l1.example.org:9443 — S3 API.

Один сертификат для l1.example.org можно использовать на обоих портах.

Reverse proxy должен разрешать загрузку файлов настроенного максимального размера, передавать заголовки Host, X-Forwarded-For, X-Forwarded-Proto, WebSocket-заголовки Upgrade, Connection, Sec-WebSocket-Protocol и поддерживать долгоживущие соединения приложения.

Логотип ЛЕГИОНЛЕГИОН