Развертывание Сервиса с помощью Docker#
Данный раздел описывает установку и использование Docker Compose для развертывания Сервиса. Процесс настройки и установки необходимо выполнять под учетной записью суперпользователя (с root-правами). Docker и Docker Compose не входят в комплект поставки Сервиса.
Ниже приведены команды для AlmaLinux.
Установка Docker и Docker Compose#
Установка Docker описана в официальной документации. Актуальная инструкция по установке представлена ниже.
Установите дополнительные зависимости:
dnf install -y dnf-utils
Добавьте репозиторий Docker:
dnf config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
Установите Docker и плагин Docker Compose:
dnf install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
Проверьте корректность установки Docker:
docker -v
Запустите Docker:
systemctl start docker
systemctl enable docker
Проверьте статус Docker:
systemctl status docker
Ответ должен содержать статус Active (running).
Проверьте установку Docker Compose:
docker compose version
В ответе должна быть указана версия Docker Compose.
Авторизация в registry#
Получите образы компонентов из dockerhub.visionlabs.ru/cv-service (registry VisionLabs) для запуска Сервиса. Перед этим авторизуйтесь. Получите логин и пароль у специалистов VisionLabs, затем введите полученные данные:
docker login dockerhub.visionlabs.ru/cv-service --username <username> --password <password>
Введите логин <username> и пароль <password>.
Подготовка и распаковка дистрибутива#
Дистрибутив представляет собой архив вида luna_point_3.0.0.zip.
Перед установкой поместите архив дистрибутива в директорию на сервере. Например, в /root.
Выполните следующие действия.
Переключитесь в режим суперпользователя root:
sudo su
Создайте директорию для распаковки дистрибутива:
mkdir -p /var/lib/luna_point
Переместите архив дистрибутива:
mv /root/luna_point_3.0.0.zip /var/lib/luna_point/
Установите unzip, если он не установлен:
dnf install -y unzip
Перейдите в директорию с дистрибутивом:
cd /var/lib/luna_point
Распакуйте архив:
unzip luna_point_3.0.0.zip
Создайте символьную ссылку на текущую версию. Ссылка указывает, какой комплект поставки используется для запуска Сервиса:
ln -sfn luna_point_3.0.0 current
Настройка Сервиса#
Необходимо настроить SELinux и Firewall, чтобы они не блокировали работу Сервиса.
Настройка SELinux и Firewall в данном руководстве не описывается.
Архив luna_point_3.0.0 содержит пример развертывания Docker в директории /example-docker. В директории находятся файлы .env и docker-compose.yml.
Настройка Сервиса выполняется в файле .env.
Настройка .env#
Перейдите в директорию Docker текущей версии Сервиса:
cd /var/lib/luna_point/current/example-docker
Отредактируйте параметры конфигурации:
nano /var/lib/luna_point/current/example-docker/.env
Параметры, используемые поставляемым файлом docker-compose.yml, приведены ниже.
| Параметр | Описание |
|---|---|
DOCKER_URL |
Адрес Docker registry для получения образов Сервиса. По умолчанию: dockerhub.visionlabs.ru/cv-service. |
SERVER_DOCKER_URL |
Адрес Docker registry для получения образов Server, необходимых Сервису. По умолчанию: dockerhub.visionlabs.ru/cv-server. |
SECURE_CV_TAG |
Тег Docker-образа для сервисов secure-cv и secure-migrate. По умолчанию: main_latest. |
SECURE_UI_IMAGE |
Имя Docker-образа для сервиса secure-ui. По умолчанию: secure-ui-base. |
SECURE_UI_TAG |
Тег Docker-образа для сервиса secure-ui. По умолчанию: 2.7.3. |
PORT |
Порт backend API secure-cv. По умолчанию: 5300. |
UI_PORT |
Порт веб-интерфейса secure-ui. По умолчанию: 8080. |
SECURE_CV_ADMIN_LOGIN |
Логин root-администратора для авторизации в API. По умолчанию: root@example.com. |
SECURE_CV_ADMIN_PASSWORD |
Пароль root-администратора для авторизации в API. По умолчанию: root. |
REDIS_PASSWORD |
Пароль Redis, используемый Сервисом. По умолчанию: lunapass. |
LOG_MAX_SIZE |
Максимальный размер одного файла логов Docker. По умолчанию: 50m. |
LOG_MAX_FILE |
Максимальное количество файлов логов Docker. По умолчанию: 5. |
Запуск Сервиса#
Перейдите в директорию Docker:
cd /var/lib/luna_point/current/example-docker
Запустите Сервис с помощью поставляемого скрипта:
./start_luna_point.sh
Скрипт запускает Сервис в соответствии с поставляемой конфигурацией Docker Compose и ожидает готовности необходимых сервисов.
Для комплекта поставки luna_point команда имеет вид ./start_luna_point.sh.
Проверьте статус всех запущенных Docker-контейнеров:
docker compose ps
Список контейнеров должен содержать:
secure-cv;secure-ui.
Контейнер secure-migrate используется только для миграций и не должен оставаться запущенным.
Добавление пользователя-администратора#
После запуска Сервиса создайте пользователя системного администратора с помощью backend API.
В примере ниже используются учетные данные root по умолчанию и порт backend API по умолчанию:
curl -X POST http://127.0.0.1:5300/1/admins/users \
-u 'root@example.com:root' \
-H 'Content-Type: application/json' \
-d '{"email":"admin@example.com","password":"admin","full_name":"System Admin"}'
Указанные логин и пароль являются примером учётных данных — для реального применения используйте свои данные.
Если значения SECURE_CV_ADMIN_LOGIN, SECURE_CV_ADMIN_PASSWORD или PORT были изменены в .env, используйте настроенные значения в запросе.
Каждый пользователь создается в отдельном домене.
Для входа в Сервис используйте указанный адрес электронной почты в качестве логина.