Перейти к содержимому

Как развернуть, настроить и поддерживать Corta: руководство DevOps

Браузеры

Corta не поддерживает устаревшие браузеры. Если вы хотите использовать другие варианты, вы можете создать собственные Docker-контейнеры с индивидуальными процедурами сборки.

Chrome

v78 и выше

Firefox

v68 и выше

Safari

v12 и выше

Edge

v44 и выше

iOS

iPhone 5s и новее с iOS 12+

Android

Android 7 и выше

ОС и СУБД

Программные требования

Поддерживается любая операционная система, совместимая с Docker.
Рекомендуется использовать операционную систему на базе Linux, предпочтительно Ubuntu LTS.

  • ОС:
    • Ubuntu Server 20.04+ (рекомендуется)
    • Debian 11, CentOS 8/9 — альтернативные варианты
  • Docker или Podman — для контейнерного деплоя компонентов. Минимально необходимая версия Docker Engine — 1.12.x.
  • БД:
    • PostgreSQL 13+ (рекомендуется)
    • MySQL поддерживается, но предпочтение отдается PostgreSQL.

Сетевые параметры

Рекомендуется размещать API и веб-приложения за файерволом или HTTP-обратным прокси.
Обратный прокси отвечает за переадресацию трафика к сервисам Corta и завершение SSL-сессий (терминация SSL).

Большинство популярных HTTP-серверов поддерживают такой подход.

Использование Nginx не является обязательным — выбирайте HTTP-сервер, с которым вы хорошо знакомы.

Сетевые порты

  • 80 (HTTP) — веб-интерфейс (или прокси).
  • 443 (HTTPS) — защищённый доступ (опционально).
  • 5432 (PostgreSQL) — между платформой и базой данных.
  • Дополнительные порты могут понадобиться для API, интеграций и т.п.

Если планируется федерация или соединения между кластерами Corta:

В зависимости от вашей конфигурации, Corta может потребовать доступ к внешним сервисам.

Если вы планируете использовать электронную почту (например, подтверждения регистрации, восстановление пароля, отправка писем из автоматизации) — настройте доступные для Corta SMTP-серверы.

  • Разрешите межсерверное взаимодействие на выбранных HTTP/S портах.
  • Убедитесь, что внутренние firewall/vpn разрешают NAT и межсерверный обмен.

Аппаратные требования

  • Процессор: Intel Xeon или AMD Ryzen (4 ядра и выше, поддержка виртуализации).
  • Оперативная память: 16 ГБ ОЗУ (допустимо от 8 ГБ для небольших проектов).
  • Диск: NVMe SSD 100 ГБ+ (рекомендуется 500 ГБ для крупных внедрений).
  • Сеть: Поддержка гигабитного Ethernet.

Количество пользователей и рекомендуемые параметры оборудования

Количество пользователей Процессор (vCPU/ядер) ОЗУ
1 – 500 1 2 ГБ
500 – 1000 2 4 ГБ
1000 – 2000 4 8 ГБ
2000 – 5000 8 16 ГБ
5000+ 16 32 ГБ

Хранилище

Оценка хранения данных на одного пользователя в месяц

Объем Описание Рекомендуемый объем
Низкий Low Code: создание текстовых записей (без файлов) 5 МБ/пользователь/мес
Средний Low Code: вложения файлов в записи 25 МБ/пользователь/мес
Высокий Low Code: большое число вложений документов ежедневно 100 МБ/пользователь/мес

Домен и hostname

Рекомендации по доменной организации

  • В корпоративном сегменте принято использовать поддомены для разных сервисов:
    • app.example.ru — для пользовательского интерфейса
    • api.example.ru — для API-сервера
  • Также можно разнести сервисы на разные домены при необходимости.

Пример записи DNS (public zone):

Hostname Назначение Тип записи Пример значения
app.example.ru Веб-приложение (UI) A/CNAME 192.0.2.10 / app-host
api.example.ru API сервер A/CNAME 192.0.2.11 / api-host

Пропишите соответствующие записи у доменного регистратора или в корпоративном DNS-сервере.

SSL-сертификаты

Corta поддерживает любые SSL-сертификаты от всех центров сертификации (CA). Вы можете подключать существующие или новые сертификаты от коммерческого поставщика, а также использовать самоподписанные сертификаты.

Всегда работайте по HTTPS — весь продукционный трафик шифруется.

Без дополнительного HTTP-сервера мы настоятельно рекомендуем использовать связку Nginx Reverse Proxy и LetsEncrypt-компаньон для nginx-proxy.

Это самый быстрый и автоматизированный способ обеспечить защищённую работу Corta или любого другого веб-приложения.

Получение и подключение сертификата

  • Вариант 1. Let’s Encrypt автоматизировано (рекомендуется)
  1. Для docker-сборок используйте связку nginx‑proxy + LetsEncrypt nginx-proxy-companion:
    • Запускайте оба контейнера совместно с Corta.
    • В настройках docker-compose для каждого сервиса укажите:
      • VIRTUAL_HOST=app.example.ru
      • LETSENCRYPT_HOST=app.example.ru
      • LETSENCRYPT_EMAIL=Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript.
  2. Откройте порты 80 и 443 для автоматического получения и обновления сертификатов.
  3. Сертификаты будут устанавливаться и обновляться в автоматическом режиме.

  • Вариант 2. Свой сертификат
  1. Получите сертификат у любого CA (например, RU-Center, Госуслуги, Let's Encrypt вручную).
  2. Скопируйте ключи (.crt и .key) или .pfx в директории вашего прокси-сервера.

Конфиг Nginx:

server {
    listen 443 ssl;
    server_name app.example.ru;
    ssl_certificate     /etc/nginx/ssl/app.example.ru.crt;
    ssl_certificate_key /etc/nginx/ssl/app.example.ru.key;
    # остальная конфигурация...
} 

Важно

Убедитесь, что серверное время и зона синхронизированы (ntpd/chrony), иначе сертификаты могут не приниматься браузерами.

Проверьте корректность сквозной цепочки — используйте CA-bundle, если того требует провайдер.