Перейти к содержанию

Развертывание Сервиса с помощью 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, используйте настроенные значения в запросе.

Каждый пользователь создается в отдельном домене.

Для входа в Сервис используйте указанный адрес электронной почты в качестве логина.