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

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

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

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

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

Следующие сервисы используются, когда требуется обеспечить совместимость с запросами формата LUNA PLATFORM 3:

Следующие сервисы используются, когда требуется обеспечить совместимость с запросами формата LUNA PLATFORM 4:

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

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

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

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

Сторонние сервисы#

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

InfluxDB#

Примечание. Если вы не удаляли старый контейнер, пропустите данный шаг.

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

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

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

Примечание. При необходимости можно использовать внешнюю БД InfluxDB 2.0.8-alpine. В таком случае можно пропустить команду ниже, однако вам придется задать пользовательские настройки для каждого сервиса LUNA PLATFORM.

Используйте команду 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

PostgreSQL#

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

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

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

Монтирование данных PostgreSQL 12 из директории "/var/lib/luna/postgres" в контейнер для PostgreSQL 16 приведет к ошибке.

Запуск контейнера 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 рекомендуется задавать пароль для повышения безопасности. Это можно сделать, например, с помощью параметра requirepass в конфигурационном файле Redis или же передать пароль через Redis CLI. Далее необходимо указать пароль в соответствующей настройке сервиса, например, в параметре "password" группы "LUNA_ATTRIBUTES_DB" сервиса Events. См. официальную документацию 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 (отключен по умолчанию)
  • Video Manager (отключен по умолчанию)

Работа с сервисом Lambda возможна только при разворачивании сервисов LUNA PLATFORM в Kubernetes. См. подробную информацию в руководстве по разворачиванию LP в Kubernetes.

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

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

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

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

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

Миграция базы данных Configurator#

Миграция из предыдущей сборки LP в сборку LP v.5.86.0 описана в данном разделе.

Следующая инструкция для миграции базы данных сервиса Configurator предполагает, что в базе данных уже установлена ревизия миграции настроек. Ревизия устанавливается с помощью скрипта configs.migrate head. Этот скрипт включен в руководство по установке LP, начиная со сборки 5.1.1. Если установка выполнялась в соответствии с руководством, дополнительных действий не понадобится. Миграция настроек выполнится автоматически.

При отсутствии ревизии следует заново создать структуру базы данных. См. руководство по установке LP 5, раздел "Создание таблиц баз данных сервиса Configurator". Затем следует задать все необходимые настройки вручную.

Миграция с версии 5.1.0 описана в руководстве по обновлению в пакете дистрибутива версии 5.1.1. Обновить базу данных сервиса Configurator можно с помощью этой инструкции и комплекта поставки версии 5.1.1. В противном случае потребуется создать заново структуру базы данных для сервиса Configurator и задать все необходимые настройки вручную. См. руководство по установке LP 5, раздел "Создание таблиц баз данных сервиса Configurator".

Миграции из предыдущих версий (сборки до v.5.1.0) LP не приводятся. Следует вручную перенести все требуемые настройки в базу данных сервиса Configurator сборки 5.1.1.

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

Примечание по миграции настроек сервиса 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 \
--network=host \
-v /tmp/logs/configurator:/srv/logs \
--rm \
--entrypoint bash \
dockerhub.visionlabs.ru/luna/luna-configurator:v.2.2.69 \
-c "alembic upgrade head; cd /srv/luna_configurator/configs/configs/; python3 -m configs.migrate --config /srv/luna_configurator/configs/config.conf head;"

alembic upgrade head; — обновляет структуру существующей базы данных.

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

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

Примечание. Настройки сервиса Configurator не мигрируются автоматически, в отличие от настроек всех остальных сервисов. Если в предыдущей версии LP изменялись настройки сервиса Configurator и необходимо сохранить пользовательские значения, то в команде ниже необходимо заменить путь /var/lib/luna/current/example-docker/luna_configurator/configs/luna_configurator_postgres.conf на путь с резервной копией настроек сервиса Configurator /var/lib/luna/BACKUP_luna_configurator_postgres.conf (см. раздел "Сохранение пользовательских настроек сервиса 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.2.69 

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

Image Store#

Запуск контейнера 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.14.33

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

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

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

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

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

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

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

  • с помощью скрипта lis_bucket_create.py, расположенного в контейнере сервиса Image Store
  • с помощью прямых запросов к сервису Image Store

Скрипт создания бакетов

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

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.40.0 \
python3 ./base_scripts/lis_bucket_create.py -ii --luna-config http://localhost:5070/1

Если необходимо задать время хранения объекта в бакете, то можно дополнительно указать количество дней с помощью аргумента --bucket-ttl. См. подробную информацию в разделе "Жизненный цикл объектов" руководства администратора.

Если вы собираетесь использовать сервис 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.24.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.11.40 \
python3 ./base_scripts/lis_bucket_create.py -ii --luna-config http://localhost:5070/1

Запросы к сервису Image Store

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

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

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

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

Бакет "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

Добавление TTL для локальных бакетов#

Примечание. Выполняйте нижеописанные действия только если бакеты хранятся в локальном хранилище и требуется управлять временем жизни существующих и/или новых объектов в бакете.

Для того, чтобы добавить TTL для всех объектов в бакете, расположенном в локальном хранилище, необходимо обновить его, указав параметр запроса ttl.

Например, можно добавить время жизни всех объектов равным 2 дня в бакете "visionlabs-samples" с помощью следующей команды:

curl -X PUT http://127.0.0.1:5020/1/buckets?bucket=visionlabs-samples?ttl=2

Добавление TTL для S3 бакетов#

Примечание. Выполняйте нижеописанные действия только если бакеты хранятся в S3-подобном хранилище и требуется управлять временем жизни существующих и/или новых объектов в бакете.

Для того, чтобы добавить TTL для объектов в бакетах, расположенных в S3-подобном хранилище, необходимо выполнить специальный скрипт миграции migrate_ttl_settings.py.

Примечание. См. подробную информацию о миграции и её особенностях в разделе "Миграция для добавления TTL к объектам в S3" в руководстве администратора.

Скрипт миграции необходимо запускать со следующими аргументами:

  • --bucket — название бакета, например, visionlabs-samples
  • --update-tags — следует ли добавлять теги ко всем существующим объектам

Если аргумент --update-tags равен 1, то необходимые для TTL теги будут добавлены ко всем существующим объектам. Длительность миграции будет зависеть от количества существующих объектов.

Если аргумент --update-tags равен 0, то необходимые для TTL теги не будут добавлены ко всем существующим объектам. В таком случае управление жизненным циклом для существующих объектов будет недоступно.

К новым объектам после миграции теги будут добавляться автоматически.

Также для скрипта необходимо заполнить данные авторизации к S3-подобному хранилищу в конфигурационном файле и примонтировать его к контейнеру сервиса Image Store.

Заполните конфигурационный файл с помощью следующей команды:

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

Выполните миграцию бакетов в хранилище S3:

docker run \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/image-store:/srv/logs \
-v /var/lib/luna/current/extras/conf/s3_bucket.conf:/srv/base_scripts/migrate_ttl_settings/config.conf \
--rm \
--network=host \
dockerhub.visionlabs.ru/luna/luna-image-store:v.3.14.33 \
python3 ./base_scripts/migrate_ttl_settings/migrate_ttl_settings.py --bucket=<your_bucket_name> --update-tags=<your_value>

Accounts#

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

Внимание! Миграция аккаунтов (только версии 5.2.0...5.28.0). Выполните нижеописанные действия только если в версиях LUNA PLATFORM 5.2.0...5.28.0 не использовался сервис Admin. Если раньше использовался сервис Admin, выполните команду из раздела "Миграция базы данных 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.3.40 \
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.3.40 \
alembic -x luna-config=http://127.0.0.1:5070/1 upgrade head

В LUNA PLATFORM 5.30.0 изменилась база данных, хранящая информацию об аккаунтах. В версиях LUNA PLATFORM 5.2.0...5.28.0 информация хранилась в БД Admin (БД luna_admin), а в версиях 5.30.0 и выше информация хранится в БД Accounts (БД luna_accounts). Если выполняется обновление с версий 5.2.0...5.28.0 на текущую версию, то вышеописанный скрипт преобразует базу данных luna_admin для работы с новыми аккаунтами (название базы данных останется старым).

Запуск контейнера 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.3.40

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.11.1

Faces#

Миграция базы данных Faces#

Необходимо выполнить скрипты миграции для обновления структуры базы данных 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.12.21 \
alembic -x luna-config=http://127.0.0.1:5070/1 upgrade head

Примечание. На данном этапе можно выполнить определенные действия по шифрованию/дешифрованию/обновлению шифрования существующих биометрических шаблонов. См. раздел "Управление шифрованием биометрических шаблонов" для более подробной информации.

Запуск контейнера 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.12.21

Events#

Миграция базы данных Events#

Для обновления структуры базы данных 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.16.0 \
alembic -x luna-config=http://127.0.0.1:5070/1 upgrade head

Примечание. На данном этапе можно выполнить определенные действия по шифрованию/дешифрованию/обновлению шифрования существующих биометрических шаблонов. См. раздел "Управление шифрованием биометрических шаблонов" для более подробной информации.

Запуск контейнера 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.16.0

Сервисы 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.12.0

Remote SDK#

Смена модели нейронной сети для извлечения биометрических шаблонов#

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

Если выполняется обновление с версии, где были удалены нейронные сети, а в предыдущей сборке в настройках "DEFAULT_FACE_DESCRIPTOR_VERSION" или "DEFAULT_HUMAN_DESCRIPTOR_VERSION" была указана какая-то из удаленных моделей, то сервис Remote SDK не запустится, если не выполнить одно из нижеперечисленных действий:

  • запросить у специалистов VisionLabs старую модель нейронной сети и перенести её в новый контейнер
  • перейти на новую версию нейронной сети, предварительно выполнив задачу Additional Extraction для повторного извлечения существующих БШ с использованием новой версии нейронной сети для их дальнейшего использования
  • перейти на новую версию нейронной сети, прекратив использование старых биометрических шаблонов

См. подробную информацию в разделе "Подготовка к смене версии нейронной сети".

Запуск контейнера 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.14.0

Запуск 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.14.0
  • --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.14.0

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.13.0 \
alembic -x luna-config=http://127.0.0.1:5070/1 upgrade head

Запуск контейнера 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.13.0

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.24.0 \
alembic -x luna-config=http://127.0.0.1:5070/1 upgrade head

Запуск контейнеров 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.24.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.24.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.13.0

Сервисы видеоаналитики#

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

Миграция базы данных Video Manager#

Необходимо выполнить скрипты миграции для обновления структуры базы данных Video Manager.

Рекомендуется создать резервную копию базы данных перед тем, как вносить какие-либо изменения.

docker run \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/video-manager:/srv/logs \
--rm \
--network=host \
dockerhub.visionlabs.ru/luna/luna-video-manager:v.0.2.8 \
alembic -x luna-config=http://127.0.0.1:5070/1 upgrade head

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

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

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

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

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

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

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.40.0

Миграция аккаунта#

Внимание! Миграция аккаунтов (только версии 5.2.0...5.28.0). Если необходимо сохранить возможность использования "account_id", который использовался в качестве заголовка "Luna-Account-Id" в версиях 5.2.0...5.28.0 (без создания аккаунта в сервисе Admin), то необходимо указать нужный идентификатор в заголовке "Luna-Account-Id" в запросе на создание аккаунта.

Пример CURL-запроса к ресурсу "create account":

curl --location --request POST 'http://127.0.0.1:5000/6/accounts' \
--header 'Content-Type: application/json' \
--header 'Luna-Account-Id: <your_old_account_id>' \
--data '{
  "login": "user@mail.com",
  "password": "password",
  "account_type": "user",
  "description": "description"
}'

Необходимо заменить аутентификационные данные из примера на свои.

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

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.9.0 

Данные о количестве выполненных запросов сохраняются в бакете 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#

Необходимо выполнить скрипты миграции для обновления структуры базы данных 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.11.40 \
alembic -x luna-config=http://127.0.0.1:5070/1 upgrade head

Миграция аккаунтов и токенов#

Внимание! Миграция аккаунтов (только версии 5.2.0...5.28.0). Используйте следующую команду для миграции аккаунтов и токенов из предыдущей версии Backport 3:

docker run \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/backport3:/srv/logs \
--rm \
--network=host \
--entrypoint bash dockerhub.visionlabs.ru/luna/luna-backport3:v.0.11.40 -c "cd ./base_scripts/migrate_accounts/ && pip3 install -r requirements-postgres.txt && python3 ./run.py --backport_db_url postgres://luna:luna@127.0.0.1:5432/luna_backport3 --accounts_db_url postgres://luna:luna@127.0.0.1:5432/luna_admin"

python3 ./run.py — запуск скрипта миграции и аккаунтов и токенов

--backport_db_url postgres://luna:luna@127.0.0.1:5432/luna_backport3 — флаг указания адреса БД luna_backport3

--accounts_db_url postgres://luna:luna@127.0.0.1:5432/luna_admin — флаг указания адреса БД luna_admin

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

Запуск контейнера 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.11.40

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.14

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

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

Backport 4#

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

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

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

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

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

User Interface 4#

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

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

Примечание. Перед запуском контейнера User Interface 4 необходимо наличие аккаунта типа user. Его логин и пароль в формате Base64 будут использованы для работы с пользовательским интерфейсом.

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

docker run \
--env=PORT=4200 \
--env=LUNA_API_URL=http://<server_external_ip>:5130 \
--env=BASIC_AUTH=dXNlckBtYWlsLmNvbTpwYXNzd29yZA== \
--name=luna-ui-4 \
--restart=always \
--detach=true \
--network=host \
-v /etc/localtime:/etc/localtime:ro \
dockerhub.visionlabs.ru/luna/luna4-ui:v.0.1.9

--env=PORT — задает порт для запуска User Interface 4.

--env=BASIC_AUTH — задает авторизацию типа Basic для аккаунта, данные которого отображаются в пользовательском интерфейсе.

--env=LUNA_API_URL — задает URL сервиса Backport 4.

  • Необходимо использовать внешний IP сервиса, а не локальный хост.

  • Необходимо указать порт сервиса Backport 4 (5130 задан по умолчанию).