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

Запуск сервисов#

В данном разделе приведены примеры:

  • Миграции таблиц баз данных
  • Создания бакетов
  • Запуска контейнеров

Сервисы LUNA PLATFORM должны запускаться в следующем порядке:

Сервис Lambda (отключен по умолчанию) можно запустить после сервисов Licenses и Configurator.

Далее необходимо запустить сервис Backport 3 и его пользовательский интерфейс:

Рекомендуется запускать контейнеры один за другим и ожидать отображения статуса контейнера "up" (команда docker ps).

Некоторые из этих сервисов не являются обязательными к запуску и можно отключить их использование. Рекомендуется использовать сервисы Events, Tasks, Sender и Admin по умолчанию. См. раздел "Использование необязательных сервисов" для более подробной информации.

При запуске каждого сервиса используются определенные параметры, например, --detach, --network и др. См. раздел "Описание параметров запуска" для получения более подробной информации о всех параметрах запуска сервисов LUNA PLATFORM и баз данных.

См. раздел "Команды Docker" для получения более подробной информации о работе с контейнерами.

Настройка мониторинга#

Для мониторинга сервисов LUNA PLATFORM требуется наличие запущенной базы данных Influx 2.0.8-alpine. Ниже приведены команды по запуску контейнера InfluxDB.

Дополнительную информацию см. в разделе "Мониторинг" в руководстве администратора.

При необходимости можно настроить визуализацию данных мониторинга с помощью сервиса LUNA Dashboards, включающего в себя настроенную систему визуализации данных Grafana. Кроме того, можно запустить инструмент для расширенной работы с логами Grafana Loki. См. инструкцию по запуску LUNA Dashboards и Grafana Loki в разделе "Визуализация мониторинга и логов с помощью Grafana".

Миграция InfluxDB с версии 1#

При необходимости можно обновиться с версии InfluxDB OSS 1.

Процесс миграции InfluxDB с версии 1 не описывается в данной документации. В InfluxDB предоставлены встроенные инструменты для миграции с версии 1 на версию 2. См. документацию:

https://docs.influxdata.com/influxdb/v2.0/upgrade/v1-to-v2/docker/

InfluxDB OSS 2#

Можно использовать InfluxDB OSS 2 как сервис, или запустить его в Docker-контейнере.

Если планируется использовать InfluxDB OSS 2 как сервис, пропустите данный шаг, убедившись, что выполнена миграция с InfluxDB OSS 1.

Для запуска InfluxDB OSS 2 в Docker-контейнере выполните нижеописанные действия:

  • остановите сервис InfluxDB
systemctl stop influxdb.service
  • запустите InfluxDB OSS 2 в Docker-контейнере:

Используйте команду docker run со следующими параметрами:

docker run \
-e DOCKER_INFLUXDB_INIT_MODE=setup \
-e DOCKER_INFLUXDB_INIT_BUCKET=luna_monitoring \
-e DOCKER_INFLUXDB_INIT_USERNAME=luna \
-e DOCKER_INFLUXDB_INIT_PASSWORD=password \
-e DOCKER_INFLUXDB_INIT_ORG=luna \
-e DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=kofqt4Pfqjn6o0RBtMDQqVoJLgHoxxDUmmhiAZ7JS6VmEnrqZXQhxDhad8AX9tmiJH6CjM7Y1U8p5eSEocGzIA== \
-v /etc/localtime:/etc/localtime:ro \
-v /var/lib/luna/influx:/var/lib/influxdb2 \
--restart=always \
--detach=true \
--network=host \
--name influxdb \
dockerhub.visionlabs.ru/luna/influxdb:2.0.8-alpine

Если необходимо задать пользовательские настройки БД Influx (например, задать IP-адрес и порт при запуске InfluxDB на отдельном сервере), то необходимо изменить в их настройках каждого сервиса LUNA PLATFORM. См. раздел "Задание пользовательских настроек InfluxDB" для подробной информации.

Запуск сторонних сервисов#

В данном разделе описывается запуск баз данных и очередей сообщений в Docker-контейнерах. Они должны быть запущены перед сервисами LP.

PostgreSQL#

Миграция с PostgreSQL 9.6 на PostgreSQL 16#

В LUNA PLATFORM 5 обновился образ VisionLabs для PostgreSQL с 9.6 версии на 16 версию.

Если ранее использовался данный образ, то необходимо самостоятельно выполнить миграцию согласно официальной документации. При необходимости можно продолжить использовать PostgreSQL 9.6.

Монтирование данных PostgreSQL 9.6 в контейнер для PostgreSQL 16 приведет к ошибке.

Запуск контейнера PostgreSQL#

Используйте следующую команду для запуска PostgreSQL.

Убедитесь, что старая PostgreSQL удалена.

docker run \
--env=POSTGRES_USER=luna \
--env=POSTGRES_PASSWORD=luna \
--shm-size=1g \
-v /var/lib/luna/postgresql/data/:/var/lib/postgresql/data/ \
-v /var/lib/luna/current/example-docker/postgresql/entrypoint-initdb.d/:/docker-entrypoint-initdb.d/ \
-v /etc/localtime:/etc/localtime:ro \
--name=postgres \
--restart=always \
--detach=true \
--network=host \
dockerhub.visionlabs.ru/luna/postgis-vlmatch:16

-v /var/lib/luna/current/example-docker/postgresql/entrypoint-initdb.d/:/docker-entrypoint-initdb.d/ \ - скрипт "docker-entrypoint-initdb.d" включает в себя команды для создания баз данных сервисов.

-v /var/lib/luna/current/example-docker/postgresql/data/:/var/lib/postgresql/data/ - эта команда позволяет монтировать директорию "data" в контейнер PostgreSQL. Директория на сервере и директория в контейнере будут синхронизированы. Данные PostgreSQL из контейнера будут сохраняться в эту директорию.

--network=host - при необходимости изменить порт для PostgreSQL, следует изменить эту строку на -p 5440:5432. Здесь первый порт 5440 - локальный, а 5432 - порт в контейнере.

Все базы данных для сервисов LP следует создавать вручную, если используется уже установленный PostgreSQL.

Redis#

Если у вас уже установлен Redis, пропустите этот шаг.

Используйте следующую команду для запуска Redis.

docker run \
-v /etc/localtime:/etc/localtime:ro \
--name=redis \
--restart=always \
--detach=true \
--network=host \
dockerhub.visionlabs.ru/luna/redis:7.2

Configurator#

Использование необязательных сервисов#

Следующие сервисы необязательны для LP:

  • Events
  • Image Store
  • Tasks
  • Sender
  • Handlers
  • Python Matcher Proxy (отключен по умолчанию)
  • Lambda (отключен по умолчанию)

Эти сервисы можно отключить при отсутствии необходимости в них.

Используйте секцию "ADDITIONAL_SERVICES_USAGE" в настройках сервиса API в сервисе Configurator, чтобы отключить ненужные сервисы.

Можно использовать файл сброса, предоставленный в комплекте поставки, для включения/отключения сервисов перед запуском сервиса Configurator.

vi /var/lib/luna/current/extras/conf/platform_settings.json

Отключение какого-либо из сервисов имеет определенные последствия. См. подробную информацию в разделе "Отключаемые сервисы" руководства администратора.

Создание таблиц базы данных Configurator#

Используйте команду docker run со следующими параметрами для создания таблиц базы данных Configurator.

docker run \
-v /etc/localtime:/etc/localtime:ro \
-v /var/lib/luna/current/example-docker/luna_configurator/configs/luna_configurator_postgres.conf:/srv/luna_configurator/configs/config.conf \
-v /var/lib/luna/current/extras/conf/platform_settings.json:/srv/luna_configurator/used_dumps/platform_settings.json \
--network=host \
-v /tmp/logs/configurator:/srv/logs \
--rm \
--entrypoint bash \
dockerhub.visionlabs.ru/luna/luna-configurator:v.2.1.89 \
-c "python3 ./base_scripts/db_create.py; cd /srv/luna_configurator/configs/configs/; python3 -m configs.migrate --config /srv/luna_configurator/configs/config.conf head; cd /srv; python3 ./base_scripts/db_create.py --dump-file /srv/luna_configurator/used_dumps/platform_settings.json"

/var/lib/luna/current/extras/conf/platform_settings.json - позволяет задавать путь к файлу с конфигурациями LP.

./base_scripts/db_create.py; - создает структуру базы данных.

python3 -m configs.migrate head; - выполняет миграции настроек в базе данных Configurator и устанавливает ревизию для миграции. Ревизия потребуется в процессе обновления на новую сборку LP5.

--dump-file /srv/luna_configurator/used_dumps/platform_settings.json - обновляет настройки в базе данных Configurator значениями из предоставленного файла.

Запуск контейнера Configurator#

Используйте команду docker run со следующими параметрами для запуска Configurator:

docker run \
--env=PORT=5070 \
--env=WORKER_COUNT=1 \
--env=RELOAD_CONFIG=1 \
--env=RELOAD_CONFIG_INTERVAL=10 \
-v /etc/localtime:/etc/localtime:ro \
-v /var/lib/luna/current/example-docker/luna_configurator/configs/luna_configurator_postgres.conf:/srv/luna_configurator/configs/config.conf \
-v /tmp/logs/configurator:/srv/logs \
--name=luna-configurator \
--restart=always \
--detach=true \
--network=host \
dockerhub.visionlabs.ru/luna/luna-configurator:v.2.1.89 

На данном этапе можно активировать запись логов в файл, если необходимо сохранять их на сервере (см. раздел "Запись логов на сервер").

Миграция из LUNA PLATFORM 3 в Backport 3#

В данном разделе описывается миграция аккаунтов, биометрических шаблонов и персон из баз данных LUNA PLATFORM 3 в базы данных LUNA PLATFORM 5.

Редактирование файла конфигурации#

Перед началом миграции необходимо настроить следующий конфигурационный файл:

vi /var/lib/luna/current/extras/conf/migration_config.conf

Введите следующую информацию:

  • Основные параметры сервисов API, Faces, Broker (LUNA PLATFORM 3);
  • Основные параметры сервисов Backport 3 и Faces (LUNA PLATFORM 5);
  • Основные параметры Luna Image Store;
  • Параметры ведения логов.

Перед миграцией#

  1. Сервер, на котором запущен скрипт миграции, должен иметь соединение со всеми заданными базами данных и сервисом Broker.

  2. Убедитесь в том, что сервис Broker (LUNA PLATFORM 3) запущен. Он используется для получения биометрических шаблонов из базы данных.

Запускать сервисы LUNA PLATFORM 5 для выполнения миграции необязательно.

Имена баз данных Faces (LUNA PLATFORM 3) и Faces (LUNA PLATFORM 5) по умолчанию одинаковы (luna_faces). Необходимо исправить это одним из следующих способов:

  • Можно использовать другую PostgreSQL для создания новой базы данных для сервиса Faces (LUNA PLATFORM 5), тогда имя "luna_faces" не будет изменено. В этом случае следует задать новый адрес базы данных PostgreSQL в разделе "LUNA_FACES_DB" файла конфигурации Faces/Configurator.

  • Можно создать новую базу данных для LUNA PLATFORM 5 (например, "luna_faces_5") и изменить имя по умолчанию для базы данных Faces в разделе "LUNA_FACES_DB" файла конфигурации Faces/Configurator.

Второй способ описан в данном руководстве ниже.

Перед миграцией убедитесь в том, что базы данных для Backport 3 (LUNA PLATFORM 5) и для Faces (LUNA PLATFORM 5) пусты (записи отсутствуют).

Не запускайте создание таблиц баз данных для сервиса Faces до изменения имени базы данных/адреса PostgreSQL в разделе "LUNA_FACES_DB" конфигурационного файла Faces/Configurator. В противном случае могут быть потеряны данные, хранящиеся в базе данных Faces LUNA PLATFORM 3.

Создание базы данных Faces для LUNA PLATFORM 5#

Создайте новую базу данных:

docker exec -it postgres psql -U luna -c "CREATE DATABASE luna_faces_5;"

Присвойте привилегии пользователю базы данных:

docker exec -it postgres psql -U luna -c "GRANT ALL PRIVILEGES ON DATABASE luna_faces_5 TO luna;"

Разрешите пользователю авторизацию в базе данных:

docker exec -it postgres psql -U luna -c "ALTER ROLE luna WITH LOGIN;"

Добавьте функцию VLMatch для выполнения сравнения:

docker exec -it postgres psql -U luna -d luna_faces_5 -c "CREATE OR REPLACE FUNCTION VLMatch(bytea, bytea, int) RETURNS float8 AS '/srv/VLMatchSource.so', 'VLMatch' LANGUAGE C PARALLEL SAFE;";

Изменение используемой базы данных#

Следует задать имя базы данных "luna_faces_5" в настройках сервиса Faces.

  • Откройте пользовательский интерфейс сервиса Configurator (http://<server_name>:5070).
  • Выберите "luna-faces" в фильтре "Service name".
  • Найдите группу настроек "LUNA_FACES_DB".
  • Установите параметр "db_name": "luna_faces_5".
  • Нажмите [Save].

Создание таблиц базы данных Faces#

Используйте следующую команду для создания таблиц базы данных Faces:

docker run \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/faces:/srv/logs \
--rm \
--network=host \
dockerhub.visionlabs.ru/luna/luna-faces:v.4.10.6 \
python3 ./base_scripts/db_create.py --luna-config http://localhost:5070/1

Создание таблиц базы данных Backport 3#

Используйте следующую команду для создания таблиц базы данных для Backport 3:

docker run \
-v /etc/localtime:/etc/localtime:ro  \
-v /tmp/logs/backport3:/srv/logs \
--rm \
--network=host \
dockerhub.visionlabs.ru/luna/luna-backport3:v.0.10.6 \
python3 ./base_scripts/db_create.py --luna-config http://localhost:5070/1

Создание таблиц базы данных Accounts#

Используйте следующую команду для создания таблиц базы данных Accounts:

docker run \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/accounts:/srv/logs \
--rm \
--network=host \
dockerhub.visionlabs.ru/luna/luna-accounts:v.0.2.6 \
python3 ./base_scripts/db_create.py --luna-config http://localhost:5070/1

Запуск миграции#

Все процессы по миграции выполняются с помощью скрипта "start_migration.py". См. раздел "Описание скрипта миграции" ниже для дополнительной информации об этом скрипте.

Запустите скрипт с помощью контейнера Backport 3:

docker run \
--rm -t \
-v /tmp/logs/backport3:/srv/logs \
-v /var/lib/luna/current/extras/conf/migration_config.conf:/srv/base_scripts/migrate_backport3/config/config.conf \
-v /var/lib/luna/image_store:/local_storage \
--network=host \
--entrypoint bash dockerhub.visionlabs.ru/luna/luna-backport3:v.0.10.6 -c "cd ./base_scripts/migrate_backport3 && pip3 install -r requirements.txt && python3 ./start_migration.py"

Можно дополнительно использовать параметр --skip_missing_descriptors, который позволяет игнорировать недостающие БШ в базе данных LP 3.

-v /tmp/logs/backport3:/srv/logs - скрипт сохраняет логи в директорию /srv/logs по умолчанию. Затем логи перемещаются в директорию /tmp/logs/backport3 на сервере.

Конфигурационный файл /var/lib/luna/current/extras/conf/migration_config.conf добавляется в контейнер для запуска скрипта.

-v /var/lib/luna/luna_v.3.3.8/luna-image-store/luna_image_store/local_storage:/local_storage - локальное хранилище с биометрическими образцами Image Store добавляется в контейнер. Это необходимо для миграции биометрических образцов.

cd ./base_scripts/migrate_backport3 && pip3 install -r requirements.txt && python3 ./start_migration.py - файл "requirements.txt" необходим для запуска скрипта "start_migration.py" с набором указанных зависимостей.

Описание скрипта миграции#

Перенос данных осуществляется в следующем порядке:

  • миграция базы данных сервиса API (LUNA PLATFORM 3) в базу данных Backport 3 (LUNA PLATFORM 5)
  • миграция базы данных сервиса Faces (LUNA PLATFORM 3) в базу данных Backport 3 (LUNA PLATFORM 5)
  • миграция базы данных сервиса Faces (LUNA PLATFORM 3) в базу данных Faces (LUNA PLATFORM 5)
  • обновление БШ в базе данных Faces (LUNA PLATFORM 5) из базы данных CORE (LUNA PLATFORM 3)
  • добавление аккаунтов к БО и по желанию портретов в хранилище Image Store

При выполнении миграции БД сервисов API и Faces, все аккаунты LP 3 будут мигрированы и сохранены в БД сервиса Accounts. Все мигрированные аккаунты будут иметь тип "user". Поля "password", "email" и "organization_name" перенесутся в БД Account под новыми именами - "password", "login" и "description" соответственно. Токены будут храниться в БД Backport3, однако их идентификатор также будет занесен в БД Accounts, где автоматически будут выставлены необходимые разрешения.

Когда скрипт запущен, создается два файла - "luna-backport3_ERROR_migration.txt" и "luna-backport3_WARNING_migration.txt". Файлы включают в себя информацию обо всех ошибках и предупреждениях, возникших в процессе миграции.

Эти файлы сохраняются в директорию "/srv/logs/" в контейнере.

Запустите следующий скрипт для получения справки:

docker run --rm -t \
--network=host \
--entrypoint bash dockerhub.visionlabs.ru/luna/luna-backport3:v.0.10.6 -c "cd ./base_scripts/migrate_backport3 && pip3 install -r requirements.txt && python3 ./start_migration.py --help"

Чтобы начать отдельные шаги по миграции, передайте аргумент --migrate командной строки.

Аргумент принимает следующие параметры:

  • stage_1 - миграция из баз данных API (LUNA PLATFORM 3) и Faces (LUNA PLATFORM 3) в базу данных Backport 3 (LUNA PLATFORM 5)
  • stage_2 - миграция из базы данных Faces (LUNA PLATFORM 3) в базу данных Faces (LUNA PLATFORM 5)
  • stage_3 - обновление БШ в Faces (LUNA PLATFORM 5) из базы данных CORE (LUNA PLATFORM 3)
  • stage_4 - добавление аккаунтов к БО и по желанию портретов (--migrate_portraits флаг) в хранилище Image Store
  • all - выполнение всех перечисленных шагов

Пример кода:

docker run \
--rm -t \
-v /tmp/logs/backport3:/srv/logs \
-v /var/lib/luna/current/extras/conf/migration_config.conf:/srv/base_scripts/migrate_backport3/config/config.conf \
-v /var/lib/luna/image_store:/local_storage \
--network=host \
--entrypoint bash dockerhub.visionlabs.ru/luna/luna-backport3:v.0.10.6 -c "cd ./base_scripts/migrate_backport3 && pip3 install -r requirements.txt && python3 ./start_migration.py --migrate stage_1"

Если миграция происходит с шага stage_3, проверьте, чтобы в таблицах "face" и "attribute" в базе данных Faces (LUNA PLATFORM 5) были логи.

Если что-то пошло не так в процессе шага stage_3, используйте аргумент --lower_boundary, чтобы указать последний неудачный идентификатор лица для продолжения миграции. Этот идентификатор можно найти в миграционных логах.

Пример:

docker run --rm -t -v \
/tmp/logs/backport3:/srv/logs \
-v /var/lib/luna/current/extras/conf/migration_config.conf:/srv/base_scripts/migrate_backport3/config/config.conf \
--network=host \
--entrypoint bash dockerhub.visionlabs.ru/luna/luna-backport3:v.0.10.6 -c "cd ./base_scripts/migrate_backport3 && pip3 install -r requirements.txt && python3 ./start_migration.py --lower_boundary 02e7b0db-b3c3-4446-bbdd-0f0d9a566058"

Остановка сервисов LUNA PLATFORM 3#

Остановите и отключите все сервисы LUNA PLATFORM 3

systemctl stop luna-image-store luna-faces luna-broker luna-extractor@1 luna-matcher@1 luna-stat-lpse.service luna-stat-sm.service luna-api luna-admin_back luna-admin_tasks aerospike
systemctl disable luna-image-store luna-faces luna-broker luna-extractor@1 luna-matcher@1 luna-stat-lpse.service luna-stat-sm.service luna-api luna-admin_back luna-admin_tasks aerospike
systemctl status luna-image-store luna-faces luna-broker luna-extractor@1 luna-matcher@1 luna-stat-lpse.service luna-stat-sm.service luna-api luna-admin_back luna-admin_tasks aerospike

Image Store#

Миграция биометрических образцов#

Миграция биометрических образцов требуется для добавления аккаунта к каждому биометрическому образцу.

Создайте резервную копию всех бакетов биометрических образцов перед запуском следующего скрипта.

Предполагается, что хранилище Image Store из LUNA PLATFORM 3 будет использоваться с LUNA PLATFORM 5.

Необходимо использовать существующие бакеты во время запуска LUNA PLATFORM 5 Image Store.

Измените бакет, используемый по умолчанию для хранения биометрических образцов, на "visionlabs-warps".

По умолчанию, бакет образцов в LUNA PLATFORM 3 назывался "visionlabs-warps".

  • Откройте пользовательский интерфейс сервиса Configurator (http://<server_name>:5070).
  • Введите "LUNA_IMAGE_STORE_FACES_SAMPLES_ADDRESS" в фильтре "Setting name".
  • Задайте имя "bucket":
"bucket": "visionlabs-warps"
  • Нажмите [Save].

Миграция портретов#

Backport 3 использует биометрические образцы в качестве портретов по умолчанию. Таким образом не требуется сохранять портреты и биометрические образцы одновременно.

См. описание портретов в документации LUNA PLATFORM 3.

Если биометрические образцы не будут использоваться как портреты, необходимо произвести миграцию портретов (запустите миграцию с флагом --migrate_portraits).

Если требуются портреты, необходимо выключить настройку "USE_SAMPLES_AS_PORTRAITS" в настройках сервиса Backport 3.

Выполните один из следующих шагов, если собираетесь использовать портреты:

  • Если используемые портреты хранились в сервисе Image Store (была включена настройка "SEND_TO_LUNA_IMAGE_STORE" в сервисе API в LUNA PLATFORM 3), необходимо задать соответствующие настройки в группе параметров "LUNA_IMAGE_STORE_PORTRAITS_ADDRESS" в настройках сервиса Backport 3. Старые значения настроек можно найти в настройках "LUNA_IMAGE_STORE_ORIGIN" и "LUNA_IMAGE_STORE_BUCKET" в конфигурационном файле сервиса API (LUNA PLATFORM 3).

  • Если для хранения портретов использовался плагин, следует переместить существующие портреты в сервис Image Store в LUNA PLATFORM 5. См. раздел "Image Store" руководства администратора для получения подробной информации о создании бакета и сохранении изображений в сервисе.

Все приведенные настройки можно сконфигурировать в сервисе Configurator в LUNA PLATFORM 5 или в конфигурационных файлах соответствующих сервисов (если сервис Configurator не используется).

Запуск контейнера Image Store#

Примечание. Если вы не собираетесь использовать сервис Image Store, не запускайте этот контейнер и отключите использование сервиса в сервисе Configurator. См. раздел "Использование необязательных сервисов".

Используйте следующую команду для запуска сервиса Image Store:

docker run \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
--env=PORT=5020 \
--env=WORKER_COUNT=1 \
--env=RELOAD_CONFIG=1 \
--env=RELOAD_CONFIG_INTERVAL=10 \
-v /var/lib/luna/image_store/:/srv/local_storage/ \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/image-store:/srv/logs \
--name=luna-image-store \
--restart=always \
--detach=true \
--network=host \
dockerhub.visionlabs.ru/luna/luna-image-store:v.3.10.6

-v /var/lib/luna/image_store/:/srv/local_storage/ - данные из указанной директории добавляются в Docker-контейнер, когда он запущен. Все данные из указанной директории Docker-контейнера сохраняются в данную директорию.

Если директория с бакетами LP уже создана, укажите ее вместо /var/lib/luna/image_store/.

Создание бакетов#

Бакеты используются для хранения данных в Image Store. Сервис Image Store должен быть запущен перед выполнением команд.

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

Если в процессе запуска приведенных выше команд появляется ошибка со статус-кодом 13006, это означает, что бакет уже создан.

Бакеты в LP можно создавать двумя способами.

Запустить приведенные ниже скрипты для создания бакетов

Запустите данный скрипт для создания основных бакетов:

docker run \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/api:/srv/logs \
--rm \
--network=host \
dockerhub.visionlabs.ru/luna/luna-api:v.6.24.0 \
python3 ./base_scripts/lis_bucket_create.py -ii --luna-config http://localhost:5070/1

Если вы собираетесь использовать сервис Tasks, используйте следующую команду, чтобы дополнительно создать "task-result" в сервисе Image Store:

docker run \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/tasks:/srv/logs \
--rm \
--network=host \
dockerhub.visionlabs.ru/luna/luna-tasks:v.3.20.0 \
python3 ./base_scripts/lis_bucket_create.py -ii --luna-config http://localhost:5070/1

Если вы собираетесь использовать портреты, используйте следующую команду, чтобы дополнительно создать "portraits".

docker run \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/api:/srv/logs \
--rm \
--network=host \
dockerhub.visionlabs.ru/luna/luna-backport3:v.0.10.6 \
python3 ./base_scripts/lis_bucket_create.py -ii --luna-config http://localhost:5070/1

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

Для следующих запросов требуется утилита curl.

Бакет "visionlabs-samples" используется для хранения биометрических образцов лиц. Этот бакет требуется для использования LP.

curl -X POST http://127.0.0.1:5020/1/buckets?bucket=visionlabs-samples

Бакет "portraits" используется для хранения портретов. Этот бакет требуется для использования Backport 3.

curl -X POST http://127.0.0.1:5020/1/buckets?bucket=portraits

Бакет "visionlabs-bodies-samples" используется для хранения биометрических образцов тел. Этот бакет требуется для использования LP.

curl -X POST http://127.0.0.1:5020/1/buckets?bucket=visionlabs-bodies-samples

Бакет "visionlabs-image-origin" используется для хранения исходных изображений. Этот бакет требуется для использования LP.

curl -X POST http://127.0.0.1:5020/1/buckets?bucket=visionlabs-image-origin

Бакет "visionlabs-objects" используется для хранения объектов. Этот бакет требуется для использования LP.

curl -X POST http://127.0.0.1:5020/1/buckets?bucket=visionlabs-objects

Бакет "task-result" для сервиса Tasks. Не используйте его, если не собираетесь использовать этот сервис.

curl -X POST http://127.0.0.1:5020/1/buckets?bucket=task-result

Accounts#

Запуск контейнера Accounts#

Используйте следующую команду для запуска сервиса Accounts:

docker run \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
--env=PORT=5170 \
--env=WORKER_COUNT=1 \
--env=RELOAD_CONFIG=1 \
--env=RELOAD_CONFIG_INTERVAL=10 \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/accounts:/srv/logs \
--name=luna-accounts \
--restart=always \
--detach=true \
--network=host \
dockerhub.visionlabs.ru/luna/luna-accounts:v.0.2.6

Licenses#

Примечание. Для использования триальной лицензии необходимо запускать сервис Licenses на том же сервере, на котором она используется.

Задание настроек лицензии с помощью Configurator#

Выполните действия по заданию настроек для HASP-ключа или Guardant-ключа.

Задание настроек лицензии HASP#

Примечание. Выполняйте данные действия только если используется лицензия HASP. См. раздел "Задание настроек лицензии Guardant", если используется ключ Guardant.

Для задания адреса сервера лицензирования нужно выполнить следующие действия:

  • перейдите в интерфейс сервиса Configurator http://<configurator_server_ip>:5070/

  • введите в поле "Setting name" значение "LICENSE_VENDOR" и нажмите "Apply Filters"

  • задайте IP-адрес сервера с вашим ключом HASP в поле "server_address" в формате "127.0.0.1".

  • нажмите "Save"

Обратите внимание, что если лицензия активируется с помощью ключа HASP, то должно быть указано два параметра "vendor" и "server_address". Если вы хотите изменить защиту HASP на Guardant, то необходимо добавить поле "license_id".

Задание настроек лицензии Guardant#

Примечание. Выполняйте данные действия только если используется ключ Guardant. См. раздел "Задание настроек лицензии HASP", если используется ключ HASP.

Для задания адреса сервера лицензирования нужно выполнить следующие действия:

  • перейдите в интерфейс сервиса Configurator http://<configurator_server_ip>:5070/

  • введите в поле "Setting name" значение "LICENSE_VENDOR" и нажмите "Apply Filters"

  • задайте IP-адрес сервера с вашим ключом Guardant в поле "server_address"

  • задайте идентификатор лицензии в формате 0x<your_license_id>, полученный в разделе "Сохранение идентификатора лицензии" руководства по активации лицензии, в поле "license_id"

  • нажмите "Save"

Обратите внимание, что если лицензия активируется с помощью ключа Guardant, то должно быть указано три параметра "vendor", "server_address" и "license_id". Если вы хотите изменить защиту Guardant на HASP, то необходимо удалить поле "license_id".

Запуск контейнера Licenses#

Используйте следующую команду для запуска сервиса:

docker run \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
--env=PORT=5120 \
--env=WORKER_COUNT=1 \
--env=RELOAD_CONFIG=1 \
--env=RELOAD_CONFIG_INTERVAL=10 \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/licenses:/srv/logs \
--name=luna-licenses \
--restart=always \
--detach=true \
--network=host \
dockerhub.visionlabs.ru/luna/luna-licenses:v.0.9.14

Faces#

Запуск контейнера Faces#

Используйте следующую команду для запуска сервиса:

docker run \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
--env=PORT=5030 \
--env=WORKER_COUNT=2 \
--env=RELOAD_CONFIG=1 \
--env=RELOAD_CONFIG_INTERVAL=10 \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/faces:/srv/logs \
--name=luna-faces \
--restart=always \
--detach=true \
--network=host \
dockerhub.visionlabs.ru/luna/luna-faces:v.4.10.6

Events#

Создание таблиц базы данных Events#

Примечание. Если вы не собираетесь использовать сервис Events, не запускайте этот контейнер и отключите использование сервиса в сервисе Configurator. См. раздел "Использование необязательных сервисов".

Используйте следующую команду для создания таблиц базы данных Events:

docker run \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/events:/srv/logs \
--rm \
--network=host \
dockerhub.visionlabs.ru/luna/luna-events:v.4.11.7 \
python3 ./base_scripts/db_create.py --luna-config http://localhost:5070/1

Запуск контейнера Events#

Примечание. Если вы не собираетесь использовать сервис Events, не запускайте этот контейнер и отключите использование сервиса в сервисе Configurator. См. раздел "Использование необязательных сервисов".

Используйте следующую команду для запуска сервиса:

docker run \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
--env=PORT=5040 \
--env=WORKER_COUNT=1 \
--env=RELOAD_CONFIG=1 \
--env=RELOAD_CONFIG_INTERVAL=10 \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/events:/srv/logs \
--name=luna-events \
--restart=always \
--detach=true \
--network=host \
dockerhub.visionlabs.ru/luna/luna-events:v.4.11.7

Сервисы Python Matcher#

Для задач сравнения можно использовать либо только сервис Python Matcher, либо дополнительно использовать сервис Python Matcher Proxy, который перенаправляет запросы сравнения либо сервису Python Matcher либо плагинам сравнения. В данном разделе описывается использование Python Matcher без Python Matcher Proxy.

Необходимо использовать сервис Python Matcher Proxy только если собираетесь использовать плагины сравнения. Использование Python Matcher Proxy и запуск соответствующего docker-контейнера описаны в разделе "Использование Python Matcher c Python Matcher Proxy".

См. описание и использование плагинов сравнения в руководстве администратора.

Использование Python Matcher без Python Matcher Proxy#

Сервис Python Matcher со сравнением посредством базы данных Faces включен по умолчанию при запуске.

Сервис Python Matcher со сравнением посредством Events также включен по умолчанию. Его можно отключить, указав "USE_LUNA_EVENTS = 0" в разделе "ADDITIONAL_SERVICES_USAGE" настроек Configurator (см. раздел "Использование необязательных сервисов"). Таким образом, сервис Events не будет использоваться для LUNA PLATFORM.

Python Matcher, который производит сравнение с помощью библиотеки сравнений, включается когда "CACHE_ENABLED" установлен как "true" в настройке "DESCRIPTORS_CACHE".

Для сервисов Python Matcher и Python Matcher Proxy загружается одно изображение.

Запуск контейнера Python Matcher#

Используйте следующую команду для запуска сервиса:

docker run \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
--env=PORT=5100 \
--env=WORKER_COUNT=1 \
--env=RELOAD_CONFIG=1 \
--env=RELOAD_CONFIG_INTERVAL=10 \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/python-matcher:/srv/logs \
--name=luna-python-matcher \
--restart=always \
--detach=true \
--network=host \
dockerhub.visionlabs.ru/luna/luna-python-matcher:v.1.8.6

Remote SDK#

Запуск контейнера Remote SDK#

Вы можете запустить сервис Remote SDK, используя CPU (задано по умолчанию) или GPU.

По умолчанию сервис Remote SDK запускается со всеми включенными эстиматорами и детекторами. При необходимости можно отключить использование некоторых эстиматоров или детекторов при запуске контейнера Remote SDK. Отключение ненужных эстиматоров позволяет экономить оперативную память или память GPU, поскольку при старте сервиса Remote SDK выполняется проверка возможности выполнения указанных оценок и загрузка нейронных сетей в память. При отключении эстиматора или детектора можно также удалить его нейронную сеть из контейнера Remote SDK. См. подробную информацию в разделе "Включение/отключение некоторых эстиматоров и детекторов" руководства администратора.

Запустите сервис Remote SDK, используя одну из следующих команд в соответствии с используемым процессором.

Запуск Remote SDK с использованием CPU#

Используйте следующую команду для запуска сервиса:

docker run \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
--env=PORT=5220 \
--env=WORKER_COUNT=1 \
--env=RELOAD_CONFIG=1 \
--env=RELOAD_CONFIG_INTERVAL=10 \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/remote-sdk:/srv/logs \
--network=host \
--name=luna-remote-sdk \
--restart=always \
--detach=true \
dockerhub.visionlabs.ru/luna/luna-remote-sdk:v.0.4.4

Запуск Remote SDK с использованием GPU#

Сервис Remote SDK не использует GPU по умолчанию. Если вы собираетесь использовать GPU, то следует включить его использование для сервиса Remote SDK в сервисе Configurator.

Если необходимо использовать GPU сразу для всех эстиматоров и детекторов, то необходимо использовать параметр "global_device_class" в секции "LUNA_REMOTE_SDK_RUNTIME_SETTINGS". Все эстиматоры и детекторы будут использовать значение данного параметра, если в параметре "device_class" их собственных настроек выставлено значение "global" (по умолчанию).

Если необходимо использовать GPU для определенного эстиматора или детектора, то необходимо использовать параметр "device_class" в секциях вида "LUNA_REMOTE_SDK__SETTINGS.runtime_settings".

См. раздел "Вычисления с помощью GPU" для получения дополнительных требований к использованию GPU.

Используйте следующую команду для запуска сервиса Remote SDK с помощью GPU:

docker run \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
--env=PORT=5220 \
--env=WORKER_COUNT=1 \
--env=RELOAD_CONFIG=1 \
--env=RELOAD_CONFIG_INTERVAL=10 \
--gpus device=0 \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/remote-sdk:/srv/logs \
--network=host \
--name=luna-remote-sdk \
--restart=always \
--detach=true \
dockerhub.visionlabs.ru/luna/luna-remote-sdk:v.0.4.4
  • --gpus device=0 - параметр указывает используемое устройство GPU и позволяет использовать GPU. Один GPU используется для одного экземпляра Remote SDK. Использование множества GPU для одного экземпляра невозможно.

Запуск облегченной версии Remote SDK#

Можно запустить облегченную версию сервиса Remote SDK, содержащую только конфигурационные файлы без нейронных сетей. Предполагается, что пользователь сам добавит в контейнер необходимые ему нейронные сети.

Запуск облегченной версии сервиса Remote SDK предназначен для продвинутых пользователей.

Для успешного запуска контейнера Remote SDK с пользовательским набором нейронных сетей нужно выполнить следующие действия:

  • запросить у VisionLabs требуемые нейронные сети
  • поместить нейронные сети в папку с установленной LUNA PLATFORM
  • присвоить соответствующие права для файлов нейронных сетей
  • смонтировать файлы нейронных сетей в папку /srv/fsdk/data контейнера Remote SDK
  • с помощью аргументов переменной "EXTEND_CMD" явно указать какие из нейронных сетей должны использоваться

Обратите внимание, что с помощью флага "enable-all-estimators-by-default" для переменной "EXTEND_CMD" можно выключить по умолчанию использование всех нейронных сетей (эстиматоров), а затем с помощью специальных флагов явно указывать какие нейронные сети должны быть использованы. Если не указывать данный флаг или выставить значение "--enable-all-estimators-by-default=1", то сервис Remote SDK будет пытаться найти в контейнере все нейронные сети. Если какая-то из нейронных сетей не будет найдена, то сервис Remote SDK не запустится.

Список доступных аргументов для запуска:

Аргумент Описание
--enable-all-estimators-by-default включить все эстиматоры по умолчанию
--enable-human-detector одновременный детектор
--enable-face-detector детектор лиц
--enable-body-detector детектор тел
--enable-face-landmarks5-estimator эстиматор 5 контрольных точек лица
--enable-face-landmarks68-estimator эстиматор 68 контрольных точек лица
--enable-head-pose-estimator эстиматор положения головы
--enable-liveness-estimator эстиматор OneShotLiveness
--enable-fisheye-estimator эстиматор бочообразной дисторсии (эффекта FishEye)
--enable-face-detection-background-estimator эстиматор фона изображения
--enable-face-warp-estimator эстиматор биометрического образца лица
--enable-body-warp-estimator эстиматор биометрического образца тела
--enable-quality-estimator эстиматор качества изображения
--enable-image-color-type-estimator эстиматор типа цвета по лицу
--enable-face-natural-light-estimator эстиматор естественности освещения
--enable-eyes-estimator эстиматор глаз
--enable-gaze-estimator эстиматор направления взгляда
--enable-mouth-attributes-estimator эстиматор атрибутов рта
--enable-emotions-estimator эстиматор эмоций
--enable-mask-estimator эстиматор маски
--enable-glasses-estimator эстиматор очков
--enable-eyebrow-expression-estimator эстиматор бровей
--enable-red-eyes-estimator эстиматор красных глаз
--enable-headwear-estimator эстиматор головного убора
--enable-basic-attributes-estimator эстиматор базовых атрибутов
--enable-face-descriptor-estimator эстиматор извлечения биометрического шаблона лица
--enable-body-descriptor-estimator эстиматор извлечения биометрического шаблона тела
--enable-body-attributes-estimator эстиматор атрибутов тел
--enable-people-count-estimator эстиматор количества людей
--enable-deepfake-estimator эстиматор Deepfake

См. подробную информацию включении и выключении определенных эстиматоров в разделе "Включение/отключение некоторых эстиматоров и детекторов" руководства администратора.

Ниже приведен пример команды для присвоения прав файлу нейронной сети:

chown -R 1001:0 /var/lib/luna/current/<neural_network_name>.plan

Пример команды запуска контейнера Remote SDK с монтированием нейронных сетей для детекции лиц и извлечения биометрических шаблонов лиц:

docker run \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
--env=PORT=5220 \
--env=WORKER_COUNT=1 \
--env=RELOAD_CONFIG=1 \
--env=RELOAD_CONFIG_INTERVAL=10 \
--env=EXTEND_CMD="--enable-all-estimators-by-default=0 --enable-face-detector=1 --enable-face-descriptor-estimator=1" \
-v /var/lib/luna/current/cnn59b_cpu-avx2.plan:/srv/fsdk/data/cnn59b_cpu-avx2.plan \
-v /var/lib/luna/current/FaceDet_v3_a1_cpu-avx2.plan:/srv/fsdk/data/FaceDet_v3_a1_cpu-avx2.plan \
-v /var/lib/luna/current/FaceDet_v3_redetect_v3_cpu-avx2.plan:/srv/fsdk/data/FaceDet_v3_redetect_v3_cpu-avx2.plan \
-v /var/lib/luna/current/slnet_v3_cpu-avx2.plan:/srv/fsdk/data/slnet_v3_cpu-avx2.plan \
-v /var/lib/luna/current/LNet_precise_v2_cpu-avx2.plan:/srv/fsdk/data/LNet_precise_v2_cpu-avx2.plan \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/remote-sdk:/srv/logs \
--network=host \
--name=luna-remote-sdk \
--restart=always \
--detach=true \
dockerhub.visionlabs.ru/luna/luna-remote-sdk:v.0.4.4

Handlers#

Примечание. Если вы не собираетесь использовать сервис Handlers, не запускайте этот контейнер и отключите использование сервиса в сервисе Configurator. См. раздел "Использование необязательных сервисов".

Создание таблиц базы данных Handlers#

Используйте следующую команду для создания таблиц базы данных Handlers:

docker run \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/handlers:/srv/logs \
--rm \
--network=host \
dockerhub.visionlabs.ru/luna/luna-handlers:v.3.4.6 \
python3 ./base_scripts/db_create.py --luna-config http://localhost:5070/1

Запуск контейнера Handlers#

Используйте следующую команду для запуска сервиса:

docker run \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
--env=PORT=5090 \
--env=WORKER_COUNT=1 \
--env=RELOAD_CONFIG=1 \
--env=RELOAD_CONFIG_INTERVAL=10 \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/handlers:/srv/logs \
--name=luna-handlers \
--restart=always \
--detach=true \
--network=host \
dockerhub.visionlabs.ru/luna/luna-handlers:v.3.4.6

Tasks#

Примечание. Если вы не собираетесь использовать сервис Tasks, не запускайте контейнер Tasks и контейнер Tasks Worker. Отключите сервис Tasks в сервисе Configurator. См. раздел "Использование необязательных сервисов".

Создание таблиц базы данных Tasks#

Используйте следующую команду для создания таблиц БД Tasks:

docker run \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/tasks:/srv/logs \
--rm \
--network=host \
dockerhub.visionlabs.ru/luna/luna-tasks:v.3.20.0 \
python3 ./base_scripts/db_create.py --luna-config http://localhost:5070/1

Запуск контейнеров Tasks и Tasks Worker#

Образ сервиса Tasks включает в себя сервисы Tasks и Tasks Worker ("рабочие процессы сервиса Tasks"). Они оба должны быть запущены.

Необходимо создать бакет "task-result" для сервиса Tasks перед запуском сервиса. Создание бакетов описано в разделе "Создание бакетов".

Если необходимо использовать задачу Estimator с использованием сетевого диска, то необходимо предварительно смонтировать директорию с изображениями с сетевого диска в специальные директории контейнеров Tasks и Tasks Worker. См. подробную информацию в разделе "Задача Estimator" в руководстве администратора.

Запуск контейнера Tasks worker#

Используйте следующую команду для запуска сервиса:

docker run \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
--env=PORT=5051 \
--env=WORKER_COUNT=1 \
--env=RELOAD_CONFIG=1 \
--env=RELOAD_CONFIG_INTERVAL=10 \
--env=SERVICE_TYPE="tasks_worker" \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/tasks-worker:/srv/logs \
--name=luna-tasks-worker \
--restart=always \
--detach=true \
--network=host \
dockerhub.visionlabs.ru/luna/luna-tasks:v.3.20.0

Запуск контейнера Tasks#

Используйте следующую команду для запуска сервиса:

docker run \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
--env=PORT=5050 \
--env=WORKER_COUNT=1 \
--env=RELOAD_CONFIG=1 \
--env=RELOAD_CONFIG_INTERVAL=10 \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/tasks:/srv/logs \
--name=luna-tasks \
--restart=always \
--detach=true \
--network=host \
dockerhub.visionlabs.ru/luna/luna-tasks:v.3.20.0

Sender#

Запуск контейнера Sender#

Примечание. Если вы не собираетесь использовать сервис Sender, не запускайте этот контейнер и отключите этот сервис в Configurator. См. раздел "Использование необязательных сервисов".

Используйте следующую команду для запуска сервиса:

docker run \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
--env=PORT=5080 \
--env=WORKER_COUNT=1 \
--env=RELOAD_CONFIG=1 \
--env=RELOAD_CONFIG_INTERVAL=10 \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/sender:/srv/logs \
--name=luna-sender \
--restart=always \
--detach=true \
--network=host \
dockerhub.visionlabs.ru/luna/luna-sender:v.2.10.6

API#

Запуск контейнера API#

Используйте следующую команду для запуска сервиса:

docker run \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
--env=PORT=5000 \
--env=WORKER_COUNT=1 \
--env=RELOAD_CONFIG=1 \
--env=RELOAD_CONFIG_INTERVAL=10 \
--name=luna-api \
--restart=always \
--detach=true \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/api:/srv/logs \
--network=host \
dockerhub.visionlabs.ru/luna/luna-api:v.6.24.0

Admin#

Запуск контейнера Admin#

Примечание. Если вы не собираетесь использовать сервис Admin, не запускайте этот контейнер.

Используйте следующую команду для запуска сервиса:

docker run \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
--env=PORT=5010 \
--env=WORKER_COUNT=1 \
--env=RELOAD_CONFIG=1 \
--env=RELOAD_CONFIG_INTERVAL=10 \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/admin:/srv/logs \
--name=luna-admin \
--restart=always \
--detach=true \
--network=host \
dockerhub.visionlabs.ru/luna/luna-admin:v.5.5.6 

Данные о количестве выполненных запросов сохраняются в бакете luna-admin базы данных Influx. Для включения сохранения этих данных требуется выполнить следующую команду:

docker exec -it luna-admin python3 ./base_scripts/influx2_cli.py create_usage_task --luna-config http://127.0.0.1:5070/1

Backport 3#

В данном разделе описывается запуск сервиса Backport 3.

Сервис не обязателен для использования LP5 и требуется только для эмуляции LP 3 API.

Запуск контейнера Backport 3#

Используйте следующую команду для запуска сервиса:

docker run \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
--env=PORT=5140 \
--env=WORKER_COUNT=1 \
--env=RELOAD_CONFIG=1 \
--env=RELOAD_CONFIG_INTERVAL=10 \
--name=luna-backport3 \
--restart=always \
--detach=true \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/backport3:/srv/logs \
--network=host \
dockerhub.visionlabs.ru/luna/luna-backport3:v.0.10.6

User Interface 3#

User Interface 3 используется только с сервисом Backport 3.

Запуск контейнера User Interface 3#

Используйте следующую команду для запуска сервиса:

docker run \
--env=PORT=4100 \
--env=LUNA_API_URL=http://127.0.0.1:5140 \
--name=luna-ui-3 \
--restart=always \
--detach=true \
--network=host \
-v /etc/localtime:/etc/localtime:ro \
dockerhub.visionlabs.ru/luna/luna3-ui:v.0.5.10

--env=LUNA_API_URL - URL сервиса Backport 3.

--env=PORT - порт сервиса User Interface 3.

Lambda#

Работа с сервисом Lambda возможна только при разворачивании сервисов LUNA PLATFORM в Kubernetes. Для использования необходимо самостоятельно развернуть сервисы LUNA PLATFORM в Kubernetes или обратиться за консультацией к специалистам VisionLabs. Используйте команды ниже в качестве справочной информации.

Примечание. Если вы не собираетесь использовать сервис Lambda, не запускайте этот контейнер.

Включите использование сервиса Lambda (см. раздел "Использование необязательных сервисов").

Подготовка Docker registry#

Необходимо подготовить registry для хранения образов Lambda. Перенесите базовые образы и образ Kaniko executor в свой registry с помощью нижеперечисленных команд.

Загрузите образы из удаленного репозитория в локальное хранилище образов:

docker pull dockerhub.visionlabs.ru/luna/lpa-lambda-base-fsdk:v.0.0.45
docker pull dockerhub.visionlabs.ru/luna/lpa-lambda-base:v.0.0.45
docker pull dockerhub.visionlabs.ru/luna/kaniko-executor:latest

Добавьте новые имена образам, заменив new-registry на свои. Имена базовых образов в пользовательском реестре должны быть такими же, как и в реестре dockerhub.visionlabs.ru/luna.

docker tag dockerhub.visionlabs.ru/luna/lpa-lambda-base-fsdk:v.0.0.45 new-registry/lpa-lambda-base-fsdk:v.0.0.45
docker tag dockerhub.visionlabs.ru/luna/lpa-lambda-base:v.0.0.45 new-registry/lpa-lambda-base:v.0.0.45
docker tag dockerhub.visionlabs.ru/luna/kaniko-executor:latest new-registry/kaniko-executor:latest

Отправьте локальные образы в свой удаленный репозиторий, заменив new-registry на свои.

docker push new-registry/lpa-lambda-base-fsdk:v.0.0.45
docker push new-registry/lpa-lambda-base:v.0.0.45
docker push new-registry/kaniko-executor:latest

Создание базы данных Lambda#

Используйте следующую команду для создания базы данных Lambda в PostgreSQL:

docker exec -it postgres psql -U luna -c "CREATE DATABASE luna_lambda;"

Создание таблиц базы данных Lambda#

Используйте следующую команду для создания таблиц базы данных Lambda:

docker run \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/lambda:/srv/logs \
--rm \
--network=host \
dockerhub.visionlabs.ru/luna/luna-lambda:v.0.2.4 \
python3 ./base_scripts/db_create.py --luna-config http://localhost:5070/1

Запуск контейнера Lambda#

Используйте следующую команду для запуска сервиса:

docker run \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
--env=PORT=5210 \
--env=WORKER_COUNT=1 \
--env=RELOAD_CONFIG=1 \
--env=RELOAD_CONFIG_INTERVAL=10 \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/lambda:/srv/logs \
--name=luna-lambda \
--restart=always \
--detach=true \
--network=host \
dockerhub.visionlabs.ru/luna/luna-lambda:v.0.2.4