Подключение S3-совместимого хранилища
S3 (Simple Storage Service) обеспечивает надежное и долговременное хранение неограниченного количества файлов и данных. Это позволяет избежать ограничений файловой системы при работе с большими объемами данных.
Настройка S3-совместимого хранилища
В этом разделе мы опишем как настроить S3-совместимое хранилище MinIO для работы с FindFace Multi. Если вы предпочитаете другое S3-совместимое хранилище, предполагается, что его настройку вы выполните самостоятельно.
-
Примечание
Работа MinIO была протестирована только на Ubuntu. Для получения информации о поддержке других ОС обратитесь к официальной документации MinIO.
Чтобы запустить контейнер с MinIO, выполните следующую команду, задав логин/пароль в параметрах
MINIO_ROOT_USER
иMINIO_ROOT_PASSWORD
:docker run -d \ -p 9003:9000 \ -p 9004:9001 \ -e "MINIO_ROOT_USER=admin" \ -e "MINIO_ROOT_PASSWORD=admin_admin" \ -v /path/to/storage_directory:/data \ quay.io/minio/minio server /data --console-address ":9001"
где
/path/to/storage_directory
– директория, выделенная для S3-совместимого хранилища.Адрес веб-интерфейса MinIO будет зависеть от того, какой интерфейс вы выбрали при установке FindFace Multi на шаге #4.5. Используемый порт –
9004
, например,192.168.112.254:9004
. Войдите в веб-интерфейс MinIO с учетными даннымиMINIO_ROOT_USER
,MINIO_ROOT_PASSWORD
, которые вы указали на предыдущем шаге.В пользовательском интерфейсе MinIO создайте хранилище (bucket) (Buckets -> Create Bucket). Присвойте ему имя по умолчанию
ffsec.storage
.Примечание
Мы советуем оставить название хранилища
ffsec.storage
, предлагаемое по умолчанию, поскольку оно соответствует параметруSTORAGE_BUCKET_NAME
в файлах конфигурации/opt/findface-multi/configs/findface-multi-legacy/findface-multi-legacy.py
и/opt/findface-multi/configs/findface-multi-legacy/findface-multi-identity-provider.py
. Если вы используете другое имя для хранилища, не забудьте соответствующим образом изменить его в указанных выше файлах конфигурации.Щелкните на хранилище (bucket), чтобы открыть его настройки.
Измените доступ к хранилищу на
public
для корректной обработки видеоархивов.В разделе User -> Access Keys создайте ключ доступа. Запишите значения
Access key
иSecret key
, поскольку они понадобятся вам позже для настройки FindFace Multi.Примечание
Интерфейс MinIO может отличаться. В более ранних версиях настройка ключа доступа производится в разделе Identity -> Service Accounts -> Create service account.
Настройка FindFace Multi для работы S3-совместимого хранилища
В файле конфигурации
/opt/findface-multi/configs/findface-multi-legacy/findface-multi-legacy.py
перейдите в секциюEXTERNAL_STORAGE_CONFIG
.sudo vi /opt/findface-multi/configs/findface-multi-legacy/findface-multi-legacy.py EXTERNAL_STORAGE_CONFIG = { 'STORAGE_TYPE': None, 'STORAGE_BUCKET_NAME': 'ffsec.storage', 'ACCESS_KEY_ID': 'access-key', 'SECRET__KEY': 'secret-key', 'REGION_NAME': 'eu-west-3', 'LOCAL_S3_SETTINGS': { 'CONNECTION_ADDRESS': 'localhost:9003', }, }
Настройте параметры
EXTERNAL_STORAGE_CONFIG
:Параметр
STORAGE_TYPE
может принимать значения'LOCAL'
,'AWS'
,None
:None
– локальная файловая система (по умолчанию)'LOCAL'
– любое S3-совместимое хранилище (например, MinIO)'AWS'
– хранилище Amazon S3.
Измените параметр
'STORAGE_TYPE'
на'LOCAL'
, чтобы включить S3-совместимое хранилище.Значения параметров
'STORAGE_BUCKET_NAME'
,'ACCESS_KEY_ID'
и'SECRET__KEY'
должны соответствовать аналогичным значениям этих параметров, заданным на этапе инициализации MinIO.'REGION_NAME'
– значение по умолчаниюeu-west-3
. Его можно изменить в настройках MinIO.В
'LOCAL_S3_SETTINGS'
->'CONNECTION_ADDRESS'
изменитеlocalhost
на IP адрес хоста MinIO, например,192.168.112.254
.
Таким же образом отредактируйте файл
/opt/findface-multi/configs/findface-multi-identity-provider/findface-multi-identity-provider.py
. Перейдите в секциюEXTERNAL_STORAGE_CONFIG
и внесите изменения, аналогичные тем, которые были применены к файлу/opt/findface-multi/configs/findface-multi-legacy/findface-multi-legacy.py
на предыдущем шаге.sudo vi /opt/findface-multi/configs/findface-multi-identity-provider/findface-multi-identity-provider.py EXTERNAL_STORAGE_CONFIG = { 'STORAGE_TYPE': None, 'STORAGE_BUCKET_NAME': 'ffsec.storage', 'ACCESS_KEY_ID': 'access-key', 'SECRET__KEY': 'secret-key', 'REGION_NAME': 'eu-west-3', 'LOCAL_S3_SETTINGS': { 'CONNECTION_ADDRESS': 'localhost:9003', }, }
Для того чтобы пользовательский интерфейс мог загружать содержимое (миниатюры, полные кадры и т.д.), внесите изменения в файл
/opt/findface-multi/configs/findface-multi-ui/nginx-site.conf
. В секцииserver
найдите параметрadd_header Content-Security-Policy
и добавьте адрес{ip_host_s3}:9003/
, например:sudo vi /opt/findface-multi/configs/findface-multi-ui/nginx-site.conf ... server { listen 80 default_server; listen [::]:80 default_server; ... location / { ... } add_header Content-Security-Policy "default-src 'self' 192.168.112.254:9003/ ; img-src 'self' 192.168.112.254:9003/ blob: data:; media-src 'self' blob:; style-src 'self' 'unsafe-inline';"; ... }
Выполните пересборку контейнеров FindFace Multi из директории
/opt/findface-multi
.cd /opt/findface-multi sudo docker-compose down sudo docker-compose up -d
Чтобы убедиться в том, что сервис
FindFace Local S3 Storage
запущен, изучите логиfindface-multi-findface-multi-legacy-1
:sudo docker logs findface-multi-findface-multi-legacy-1
Команда для переноса данных
Для переноса данных в удаленное или локальное хранилище используйте следующую команду:
sudo docker exec -it findface-multi-findface-multi-legacy-1 /opt/findface-security/bin/python3 /tigre_prototype/manage.py transfer_data --to_local / --to_remote
Аргумент
--to_remote
переносит данные в удаленное хранилище.Аргумент
--to_local
переносит данные в локальную файловую систему.
Перед выполнением указанной команды убедитесь, что вы настроили FindFace Multi для использования S3-совместимого хранилища.