Подключение 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-совместимого хранилища.



