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

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

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

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

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

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

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

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

Рекомендуется запускать контейнеры один за другим и ожидать отображения статуса контейнера "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 удален.

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

Убедитесь, что старый контейнер 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#

Миграция из предыдущей сборки LP в сборку LP v.5.58.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.1.93 \
-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.1.93 

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

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

-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.25.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.2 \
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.8 \
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#

Внимание! Миграция аккаунтов (только версии 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.2.8 \
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.8 \
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.2.8

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

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.10.8 \
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.10.8

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.11.9 \
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.11.9

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

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

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

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.8 \
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.4.8

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.2 \
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.20.2

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

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

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

Создание аккаунта с помощью сервиса API#

Аккаунт создается с помощью HTTP-запроса к ресурсу "create account".

Аккаунт также можно создать с помощью сервиса Admin. Данный способ требует наличия существующих логина и пароль (или логина и пароля по умолчанию) и позволяет создать аккаунты типа "admin". См. подробную информацию в разделе "Сервис Admin" руководства администратора.

Для создания аккаунта с помощью запроса к сервису API необходимо указать следующие обязательные данные:

  • login — электронный адрес
  • password — пароль
  • account_type — тип аккаунта ("user" или "advanced_user")

Создайте аккаунт, используя свои аутентификационные данные.

Внимание! Миграция аккаунтов (только версии 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.5.8 

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

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.

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

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

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

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

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

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

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

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.59
docker pull dockerhub.visionlabs.ru/luna/lpa-lambda-base:v.0.0.59
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.59 new-registry/lpa-lambda-base-fsdk:v.0.0.59
docker tag dockerhub.visionlabs.ru/luna/lpa-lambda-base:v.0.0.59 new-registry/lpa-lambda-base:v.0.0.59
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.59
docker push new-registry/lpa-lambda-base:v.0.0.59
docker push new-registry/kaniko-executor:latest

Миграция базы данных 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.6 \
alembic -x luna-config=http://127.0.0.1:5070/1 upgrade head

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