SAQA / УСТАНОВКА

SAQA на вашем сервере

От подготовки Linux-сервера до первого проекта. Установите клиентский пакет через Docker Compose и завершите настройку в браузере.

7 шагов до первого проектаUbuntu / DebianDocker Compose

ПЕРЕД УСТАНОВКОЙ

Минимальные требования

Проверьте свободные ресурсы сервера. Пороги памяти и диска взяты из клиентского установщика; они не определяют число пользователей или скорость работы под нагрузкой.

Требования клиентской установки SAQA
Операционная системаUbuntu 22.04 / 24.04 · Debian 12

Linux-сервер с доступом по SSH. Windows не поддерживается клиентским установщиком.

РазвёртываниеDocker Engine + Compose v2

Docker должен быть запущен и доступен пользователю, который выполняет установку. Нужны Bash и curl.

Оперативная памятьОт 4 ГиБ доступной RAM

Установщик проверяет MemAvailable. При значении ниже 8 ГиБ он предупреждает о небольшом запасе памяти.

Свободное местоОт 10 ГиБ на диске

Проверяется раздел с каталогом установки; ниже 20 ГиБ выводится предупреждение. Отдельно предусмотрите место для Docker, документов и резервных копий.

ПроцессорПодбирается под нагрузку

Минимальное число ядер пока не определено. Установщик не проверяет CPU; конфигурацию и архитектуру сервера согласуйте перед подключением.

Порты приложения5173 / HTTP · 8080 / API

Значения по умолчанию. Порты должны быть свободны; другие значения можно указать при установке. Доступ пользователей и HTTPS настройте через reverse proxy.

Исходящая сетьHTTPS / 443

Доступ к реестру образов SAQA, Docker Hub и серверу лицензирования. Адреса SAQA выдаются с пакетом; по умолчанию — harbor.saqalicenser.online и saqalicenser.online.

ДоступыКлиентский пакет и ключи компании

Company ID, Company API key и учётная запись для скачивания образов из Harbor. Получите их у команды SAQA перед установкой.

Для запаса ориентируйтесь на 8 ГиБ доступной RAM и 20 ГиБ свободного места — ниже этих значений установщик выводит предупреждение. Объём хранилища и CPU для вашей команды согласуйте отдельно.

01 / ПОДГОТОВКА

Подготовьте Linux-сервер

  1. Подключитесь к серверу по SSH. Используйте Ubuntu 22.04/24.04 или Debian 12.
  2. Установите Docker Engine и плагин Compose по официальной инструкции для вашей ОС. Установщик SAQA не устанавливает Docker самостоятельно.
  3. Установите curl. Убедитесь, что Docker запущен и доступен пользователю, который будет выполнять установку.
Bash
docker --version
docker compose version
docker info
curl --version

Ожидаемый результат: команды показывают версии и сведения о Docker без ошибки подключения к daemon или отказа в доступе.

02 / ПАКЕТ И ДОСТУПЫ

Получите клиентский пакет

Запросите у команды SAQA пакет установки, Company ID, Company API key и логин с паролем для скачивания образов из Harbor. Это доступ к реестру образов, а не будущая учётная запись администратора SAQA.

Скопируйте содержимое пакета на сервер, например в ~/saqa. Все следующие команды выполняйте в этом каталоге. В нём должны находиться три файла:

Bash
cd ~/saqa
ls -la install.sh docker-compose.yml .env.client.example

Если вместе с пакетом выдан saqa.env, положите его рядом с install.sh до установки. Установщик прочитает из него выданные параметры и доступы. Файл .env он создаст самостоятельно.

Запросить пакет и подключение ↗

03 / ПРОВЕРКА

Проверьте сеть и окружение

  • Разрешите исходящий HTTPS к Harbor, Docker Hub и серверу лицензирования. Стандартные адреса SAQA: harbor.saqalicenser.online и saqalicenser.online; используйте адреса из выданного пакета, если они отличаются.
  • Проверьте, что порты 5173 и 8080 свободны. Если нужны другие порты, скопируйте .env.client.example в .env и задайте APP_HTTP_PORT / APP_API_PORT перед проверкой.
  • Для доступа команды подготовьте адрес сервера. Для рабочего использования настройте HTTPS на reverse proxy и ограничьте прямой доступ к портам приложения. Внутренние порты MongoDB, Redis, MinIO и Meilisearch публиковать не нужно.
Bash
bash ./install.sh check

Ожидаемый результат: preflight ok. Проверяются Linux, Docker, доступная память, свободный диск, порты и доступность внешних адресов SAQA. Скачивание образов и доступ к Docker Hub проверятся на этапе установки.

Проверка читает настройки из .env, если он существует. Файл saqa.env импортируется позже, при install; нестандартные адреса для предварительной проверки задайте в .env.

04 / УСТАНОВКА

Запустите установщик

Bash
bash ./install.sh install

Введите параметры из выданного пакета. Enter сохраняет значение, показанное в квадратных скобках. Ввод Company API key и пароля Harbor скрыт.

Company ID / Company API key
Идентификатор и ключ вашей компании.
Harbor username / password
Выданная учётная запись с правом скачивания образов.
HTTP port / API port
По умолчанию 5173 / 8080. Укажите выбранные свободные порты.

Установщик создаст .env, сгенерирует секреты приложения, выполнит вход в реестр, скачает образы и запустит контейнеры. В конце он выведет адрес интерфейса.

INSTALL_ID оставьте пустым: его создаёт мастер первого запуска. Ключи компании, .env и saqa.env храните как секреты.

05 / ПРОВЕРКА ЗАПУСКА

Убедитесь, что сервисы запущены

Bash
bash ./install.sh status
curl --fail http://127.0.0.1:8080/health

Если вы изменили API-порт, замените 8080 своим значением. Дождитесь запуска контейнеров: основные сервисы должны работать, у MongoDB, Redis и MinIO — пройти healthcheck. Одноразовый minio-init после создания хранилища может завершиться с кодом 0.

Запрос /health должен вернуть успешный HTTP-ответ. Это проверка доступности API; первичную настройку и работоспособность проекта проверьте в следующих шагах.

Если сервис не запускается, посмотрите последние сообщения:

Bash
docker compose --env-file .env logs --tail=80 app checker

06 / ПЕРВЫЙ ВХОД

Создайте администратора

  1. Откройте адрес из вывода установщика и перейдите на /setup. Для стандартных портов это http://адрес-сервера:5173/setup; при настроенном HTTPS используйте адрес вашего reverse proxy.
  2. Задайте логин и пароль первого администратора. Проверьте Company ID, Company API key и ключ доступа к проверке лицензии — поля используют настройки установки.
  3. Завершите мастер. При успешной настройке откроется рабочее пространство. Идентификатор установки формируется автоматически.

Если мастер сообщает об уже зарегистрированной установке или недоступной лицензии, проверьте адрес сервера лицензирования и обратитесь в поддержку. Не подменяйте INSTALL_ID значением с другого сервера.

07 / ПЕРВЫЙ ПРОЕКТ

Проверьте работу на небольшом примере

  1. Создайте одну систему, продукт и два сервиса.
  2. Добавьте связь между сервисами и документ с описанием взаимодействия.
  3. Обновите страницу и убедитесь, что схема и документ сохранились.
  4. Добавьте участника, настройте права и проверьте доступ под его учётной записью.
Пример первого проекта ↗

ПОСЛЕ УСТАНОВКИ

Хранение и обновления

Рабочие данные остаются в Docker volumes: MongoDB, Redis, Meilisearch и MinIO. Настройте резервное копирование данных и защищённое хранение конфигурации; проверьте восстановление до начала регулярной работы.

Перед обновлением сделайте резервную копию. Из каталога установки выполните:

Bash
bash ./install.sh update
bash ./install.sh status

Установщик получает текущую версию релиза у сервера лицензирования и скачивает соответствующие образы. Если нужно остановить работающую установку, он запросит подтверждение. После обновления повторите проверку API и вход в рабочее пространство.

Лицензия и доступ к сети

Состав модулей и ограничения определяются лицензией. Checker обращается к серверу лицензирования SAQA и кэширует результат. Постоянную работу без внешней сети нужно согласовать отдельно; размещение данных на своём сервере само по себе не означает полностью автономный режим.

Если что-то не работает

Проверка не проходит по памяти или диску

Установщику нужны именно доступные 4 ГиБ RAM и свободные 10 ГиБ на разделе с каталогом установки. Проверьте свободные ресурсы, учтите другие приложения на сервере и повторите check.

Порт уже занят

Задайте для APP_HTTP_PORT и APP_API_PORT свободные порты в .env и повторите проверку. Если меняете порты при install, используйте те же значения в адресах интерфейса и проверки API.

Не скачиваются образы

Проверьте исходящий HTTPS, адрес Harbor и выданные данные для скачивания образов. Повторите install с корректными доступами.

Нужна помощь с установкой

Сообщите поддержке шаг, на котором возникла ошибка, её текст и состояние контейнеров. Перед отправкой логов удалите ключи, пароли и токены. Файлы .env и saqa.env целиком не отправляйте.

Обсудить установку с командой ↗