ПЕРЕД УСТАНОВКОЙ
Минимальные требования
Проверьте свободные ресурсы сервера. Пороги памяти и диска взяты из клиентского установщика; они не определяют число пользователей или скорость работы под нагрузкой.
| Операционная система | 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 перед установкой. |
01 / ПОДГОТОВКА
Подготовьте Linux-сервер
- Подключитесь к серверу по SSH. Используйте Ubuntu 22.04/24.04 или Debian 12.
- Установите Docker Engine и плагин Compose по официальной инструкции для вашей ОС. Установщик SAQA не устанавливает Docker самостоятельно.
- Установите curl. Убедитесь, что Docker запущен и доступен пользователю, который будет выполнять установку.
docker --version
docker compose version
docker info
curl --versionОжидаемый результат: команды показывают версии и сведения о Docker без ошибки подключения к daemon или отказа в доступе.
02 / ПАКЕТ И ДОСТУПЫ
Получите клиентский пакет
Запросите у команды SAQA пакет установки, Company ID, Company API key и логин с паролем для скачивания образов из Harbor. Это доступ к реестру образов, а не будущая учётная запись администратора SAQA.
Скопируйте содержимое пакета на сервер, например в ~/saqa. Все следующие команды выполняйте в этом каталоге. В нём должны находиться три файла:
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 ./install.sh checkОжидаемый результат: preflight ok. Проверяются Linux, Docker, доступная память, свободный диск, порты и доступность внешних адресов SAQA. Скачивание образов и доступ к Docker Hub проверятся на этапе установки.
Проверка читает настройки из .env, если он существует. Файл saqa.env импортируется позже, при install; нестандартные адреса для предварительной проверки задайте в .env.
04 / УСТАНОВКА
Запустите установщик
bash ./install.sh installВведите параметры из выданного пакета. Enter сохраняет значение, показанное в квадратных скобках. Ввод Company API key и пароля Harbor скрыт.
- Company ID / Company API key
- Идентификатор и ключ вашей компании.
- Harbor username / password
- Выданная учётная запись с правом скачивания образов.
- HTTP port / API port
- По умолчанию 5173 / 8080. Укажите выбранные свободные порты.
Установщик создаст .env, сгенерирует секреты приложения, выполнит вход в реестр, скачает образы и запустит контейнеры. В конце он выведет адрес интерфейса.
05 / ПРОВЕРКА ЗАПУСКА
Убедитесь, что сервисы запущены
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; первичную настройку и работоспособность проекта проверьте в следующих шагах.
Если сервис не запускается, посмотрите последние сообщения:
docker compose --env-file .env logs --tail=80 app checker06 / ПЕРВЫЙ ВХОД
Создайте администратора
- Откройте адрес из вывода установщика и перейдите на /setup. Для стандартных портов это http://адрес-сервера:5173/setup; при настроенном HTTPS используйте адрес вашего reverse proxy.
- Задайте логин и пароль первого администратора. Проверьте Company ID, Company API key и ключ доступа к проверке лицензии — поля используют настройки установки.
- Завершите мастер. При успешной настройке откроется рабочее пространство. Идентификатор установки формируется автоматически.
Если мастер сообщает об уже зарегистрированной установке или недоступной лицензии, проверьте адрес сервера лицензирования и обратитесь в поддержку. Не подменяйте INSTALL_ID значением с другого сервера.
07 / ПЕРВЫЙ ПРОЕКТ
Проверьте работу на небольшом примере
- Создайте одну систему, продукт и два сервиса.
- Добавьте связь между сервисами и документ с описанием взаимодействия.
- Обновите страницу и убедитесь, что схема и документ сохранились.
- Добавьте участника, настройте права и проверьте доступ под его учётной записью.
ПОСЛЕ УСТАНОВКИ
Хранение и обновления
Рабочие данные остаются в Docker volumes: MongoDB, Redis, Meilisearch и MinIO. Настройте резервное копирование данных и защищённое хранение конфигурации; проверьте восстановление до начала регулярной работы.
Перед обновлением сделайте резервную копию. Из каталога установки выполните:
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 целиком не отправляйте.