Пошаговое развертывание из apt-репозитория¶
Данный раздел содержит подробную информацию о пошаговом развертывании компонентов FindFace Security. Выполните приведенные ниже инструкции, придерживаясь заданного порядка.
В этом разделе:
Установка apt-репозитория¶
Прежде всего установите apt-репозиторий FindFace следующим образом:
- Загрузите файл инсталлятора - findface-security-and-server-4.2.run.
- Поместите файл - .runв любой каталог на сервере установки (например,- /home/username).
- Из данного каталога сделайте файл - .runисполняемым.- chmod +x findface-security-and-server-4.2.run 
- Запустите файл - .run.- sudo ./findface-security-and-server-4.2.run - Инсталлятор задаст вам несколько вопросов, после чего проверит, соответствует ли сервер системным требованиям. Вопросы следующие: - Устанавливаемый продукт: - FindFace Security.
- Тип установки: - repo: Don't install anything, just set up the APT repository.
- Устанавливаемые модели нейронных сетей (при необходимости). Для того чтобы выбрать модели, сначала снимите выделение, введя в командной строке - -*, затем введите через пробел порядковые номера нужных моделей, например:- 1 3. Введите- doneдля сохранения выбора и перехода к следующему шагу.- Важно - Должна быть установлена как минимум одна модель для биометрии лица. 
 - После этого apt-репозиторий FindFace будет автоматически установлен. 
Установка необходимого стороннего ПО¶
Для работы FindFace Security необходимо стороннее программное обеспечение PostgreSQL, Pgbouncer, Redis, etcd и memcached. Выполните следующие действия:
- Установите пакеты с указанным сторонним ПО следующим образом: - На Ubuntu 16.04: - sudo apt update sudo apt install -y postgresql-9.5 redis-server etcd memcached pgbouncer - На Ubuntu 18.04: - sudo apt update sudo apt install -y postgresql-10 redis-server etcd memcached pgbouncer 
- Откройте файл конфигурации - memcached. Установите максимальный размер памяти в мегабайтах, используемый для хранения элементов:- -m 512. Установите максимальный размер элемента:- -I 16m. Если один или оба этих параметра отсутствуют, добавьте их в файл.- sudo vi /etc/memcached.conf -m 512 -I 16m 
- Предоставьте надежный пароль пользователю - ntech(- 9T3g1nXy9yx3y8MIGm9fbef3dia8UTc3в примере ниже). Внесите учетные данные в список пользователей- pgbouncer.- echo '"ntech" "9T3g1nXy9yx3y8MIGm9fbef3dia8UTc3"' | sudo tee -a /etc/pgbouncer/userlist.txt 
- Настройте - pgbouncer. Откройте файл- /etc/pgbouncer/pgbouncer.iniи добавьте базу данных- ffsecurityв раздел- databases. Настройте другие параметры, как показано в примере ниже.- sudo vi /etc/pgbouncer/pgbouncer.ini [databases] ffsecurity = dbname=ffsecurity host=localhost port=5432 user=ntech ... auth_type = plain pool_mode = transaction max_client_conn = 16384 syslog = 1 listen_port = 5439 
- Добавьте сервисы стороннего ПО в автозагрузку Ubuntu и запустите их: - На Ubuntu 16.04: - sudo systemctl enable postgresql@9.5-main.service redis-server etcd.service memcached.service pgbouncer.service sudo systemctl start postgresql@9.5-main.service redis-server etcd.service memcached.service pgbouncer.service - На Ubuntu 18.04: - sudo systemctl enable postgresql@10-main.service redis-server etcd.service memcached.service pgbouncer.service sudo systemctl start postgresql@10-main.service redis-server etcd.service memcached.service pgbouncer.service 
Обеспечение лицензирования¶
См.также
Вы получаете файл лицензии вместе с установочными пакетами FindFace Security. Для лицензирования в закрытой сети вам также будет предоставлен ключ аппаратной защиты.
Лицензирование FindFace Security обеспечивается следующим образом:
- Разверните - findface-ntls, сервер лицензий в составе ядра FindFace.- Важно - Система на базе FindFace Security может включать в себя только один экземпляр - findface-ntls.- Совет - В файле конфигурации - findface-ntlsвы можете изменить папку для хранения файла лицензии и настроить удаленный доступ к веб-интерфейсу- findface-ntls, используемому для управления лицензией. Подробнее см. findface-ntls.- sudo apt update sudo apt install -y findface-ntls sudo systemctl enable findface-ntls.service && sudo systemctl start findface-ntls.service 
- Загрузите файл лицензии через веб-интерфейс - findface-ntlsодним из следующих способов:- Откройте веб-интерфейс - findface-ntls:- http://<NTLS_IP_address>:3185/#/. Загрузите файл лицензии.- Совет - Впоследствии используйте основной веб-интерфейс FindFace Security, чтобы посмотреть информацию о лицензиях, обновить или продлить лицензию (). 
- Непосредственно положите файл лицензии в предназначенную для этого папку (по умолчанию, - /opt/ntech/license, может быть изменена в файле конфигурации- /etc/findface-ntls.cfg).
 
- При лицензировании в закрытой системе вставьте USB-ключ аппаратной защиты в USB-порт. 
- Если лицензируемые компоненты установлены на удаленных серверах, впоследствии укажите IP-адрес сервера - findface-ntlsв их файлах конфигурации. Подробнее см. findface-extraction-api, findface-tarantool-server, Видеодетекция лиц: findface-video-manager и findface-video-worker.
См.также
Развертывание основной базы данных¶
Основная база данных FindFace Security построена на PostgreSQL. Для того чтобы развернуть основную базу данных, выполните следующие действия:
- Откройте список пользователей - pgbouncer- /etc/pgbouncer/userlist.txt. Скопируйте пароль пользователя- ntech(- 9T3g1nXy9yx3y8MIGm9fbef3dia8UTc3в примере ниже).- sudo cat /etc/pgbouncer/userlist.txt "ntech" "9T3g1nXy9yx3y8MIGm9fbef3dia8UTc3" 
- В консоли PostgreSQL создайте пользователя - ntechпод скопированным паролем, а также базы данных- ffsecurityи- ffcounterPostgreSQL.- sudo -u postgres psql postgres=# CREATE ROLE ntech WITH LOGIN PASSWORD '9T3g1nXy9yx3y8MIGm9fbef3dia8UTc3'; postgres=# CREATE DATABASE ffsecurity WITH OWNER ntech ENCODING 'UTF-8' LC_COLLATE='en_US.UTF-8' LC_CTYPE='en_US.UTF-8' TEMPLATE template0; postgres=# CREATE DATABASE ffcounter WITH OWNER ntech ENCODING 'UTF-8' LC_COLLATE='C.UTF-8' LC_CTYPE='C.UTF-8' TEMPLATE template0; - Совет - Для выхода из консоли PostgreSQL введите - \qи нажмите Enter.
- Разрешите авторизацию в PostgreSQL по UID клиента сокета. Перезапустите PostgreSQL. - На Ubuntu 16.04: - echo 'local all ntech peer' | sudo tee -a /etc/postgresql/9.5/main/pg_hba.conf sudo systemctl restart postgresql@9.5-main.service - На Ubuntu 18.04: - echo 'local all ntech peer' | sudo tee -a /etc/postgresql/10/main/pg_hba.conf sudo systemctl restart postgresql@10-main.service 
Развертывание ядра FindFace¶
Для развертывания ядра FindFace выполните следующие действия:
Совет
Вы можете найти описание компонентов ядра FindFace и их параметров конфигурации в разделах Архитектура и Подробно о компонентах.
- Установите компоненты ядра FindFace: - sudo apt update sudo apt install -y findface-tarantool-server findface-extraction-api findface-sf-api findface-upload findface-video-manager findface-video-worker-cpu - Примечание - Для того чтобы установить компонент - findface-extraction-apiс GPU-ускорением, вместо- findface-extraction-apiв команде введите- findface-extraction-api-gpu.- Примечание - Для того чтобы установить компонент - findface-video-workerс GPU-ускорением, вместо- findface-video-worker-cpuв команде введите- findface-video-worker-gpu. Если на физическом сервере установлено несколько видеокарт, см. Использование нескольких видеокарт.- Важно - Обязательно установите модели нейронных сетей на серверах с - findface-extraction-api.
- В файле конфигурации - findface-sf-apiвключите параметр- allow-return-facen.- sudo vi /etc/findface-sf-api.ini ... limits: ... allow-return-facen: true ... 
- В файле конфигурации - findface-extraction-apiвключите модели распознавания атрибутов лица, таких как пол, возраст, эмоции, очки, борода и медицинская маска, в зависимости от ваших нужд. Удостоверьтесь, что для каждой модели вы указали правильный тип ускорения CPU или GPU: он должен совпадать с типом ускорения- findface-extraction-api. Обратите внимание, что- findface-extraction-apiна CPU может работать только с CPU-моделями, в то время как- findface-extraction-apiна GPU поддерживает как CPU-, так и GPU-модели. Подробнее см. Распознавание атрибутов лица.- sudo vi /etc/findface-extraction-api.ini models: age: faceattr/age.v1.cpu.fnk emotions: faceattr/emotions.v1.cpu.fnk face: face/ifruit_320.cpu.fnk gender: faceattr/gender.v2.cpu.fnk beard: faceattr/beard.v0.cpu.fnk glasses3: faceattr/glasses3.v0.cpu.fnk medmask3: faceattr/medmask3.v0.cpu.fnk - Доступны следующие модели: - Атрибут лица - Ускорение - Параметр в файле конфигурации - биометрия лица - CPU - face: face/ifruit_320.cpu.fnk- face: face/ifruit_160.cpu.fnk- GPU - face: face/ifruit_320.gpu.fnk- face: face/ifruit_160.gpu.fnk- возраст - CPU - age: faceattr/age.v1.cpu.fnk- GPU - age: faceattr/age.v1.gpu.fnk- пол - CPU - gender: faceattr/gender.v2.cpu.fnk- GPU - gender: faceattr/gender.v2.gpu.fnk- эмоции - CPU - emotions: faceattr/emotions.v1.cpu.fnk- GPU - emotions: faceattr/emotions.v1.gpu.fnk- очки - CPU - glasses3: faceattr/glasses3.v0.cpu.fnk- GPU - glasses3: faceattr/glasses3.v0.gpu.fnk- борода - CPU - beard: faceattr/beard.v0.cpu.fnk- GPU - beard: faceattr/beard.v0.gpu.fnk- медицинская маска - CPU - medmask3: faceattr/medmask3.v0.cpu.fnk- GPU - medmask3: faceattr/medmask3.v0.gpu.fnk- Совет - Для того чтобы отключить модель распознавания, передайте в соответствующий параметр пустое значение. Не удаляйте сам параметр, поскольку в этом случае будет выполняться поиск модели по умолчанию. - models: gender: "" age: "" emotions: "" 
- Откройте файл конфигурации - /etc/findface-video-worker-cpu.ini(- /etc/findface-video-worker-gpu.ini). В параметре- mgr-staticукажите IP-адрес сервера- findface-video-manager, который будет обеспечивать- findface-video-workerнастройками и списком видеопотоков для обработки. В параметре- capacityукажите максимальное количество видеопотоков, которое может быть обработано- findface-video-worker. В разделе- streamerукажите IP-адрес и порт для доступа к видеостене. Значение- portдолжно быть- 18999.- sudo vi /etc/findface-video-worker-cpu.ini sudo vi /etc/findface-video-worker-gpu.ini mgr-static=127.0.0.1:18811 capacity=10 [streamer] #------------------------------ ## streamer/shots webserver port, 0=disabled ## type:number env:CFG_STREAMER_PORT longopt:--streamer-port port = 18999 ## streamer url - how to access this worker on streamer_port ## type:string env:CFG_STREAMER_URL longopt:--streamer-url url = 127.0.0.1:18999 
- Добавьте сервисы ядра FindFace в автозагрузку Ubuntu и запустите их. - sudo systemctl enable findface-extraction-api findface-sf-api findface-video-manager findface-video-worker-cpu sudo systemctl start findface-extraction-api findface-sf-api findface-video-manager findface-video-worker-cpu 
Развертывание прикладного модуля FindFace Security и биометрической базы данных¶
Для развертывания прикладного модуля FindFace Security, выполните следующие действия:
- Установите компоненты - findface-security,- ffsecurity-uiи- findface-counter. Добавьте сервис- findface-counterв автозагрузку Ubuntu и запустите его.- sudo apt update sudo apt install -y ffsecurity ffsecurity-ui findface-counter sudo systemctl enable findface-counter && sudo systemctl start findface-counter 
- Перенесите схему базы данных из FindFace Security в PostgreSQL, создайте группы пользователей с предустановленными правами и первого пользователя с правами администратора (т. н. Супер Администратора). - Важно - Супер Администратор не может лишиться прав администратора даже при смене роли. - sudo findface-security migrate sudo findface-security create_groups sudo findface-security create_default_user 
- Создайте структуру биометрической базы данных на основе Tarantool. - sudo findface-security make_tnt_schema | sudo tee /etc/ffsecurity/tnt_schema.lua 
- Откройте файл конфигурации - /etc/tarantool/instances.enabled/FindFace.lua. Проверьте, содержит ли файл команду- dofile, а также определения- meta_indexesи- meta_scheme, как показано в примере ниже.- sudo vi /etc/tarantool/instances.enabled/FindFace.lua dofile("/etc/ffsecurity/tnt_schema.lua") -- host:port to bind, HTTP API FindFace = require("FindFace") FindFace.start("127.0.0.1", 8001, { license_ntls_server="127.0.0.1:3133", meta_indexes=meta_indexes, meta_scheme = meta_scheme }) 
- Добавьте сервис - findface-tarantool-serverв автозагрузку Ubuntu и запустите его.- sudo systemctl enable tarantool@FindFace.service && sudo systemctl start tarantool@FindFace.service 
- Откройте файл конфигурации - /etc/ffsecurity/config.py. Задайте следующие параметры:- SERVICE_EXTERNAL_ADDRESS: IP-адрес или URL FindFace Security, являющимся приоритетным для Genetec и вебхуков. Если параметр не задан, система использует для работы с данным функционалом- EXTERNAL_ADDRESS. Для использования Genetec и вебхуков обязательно укажите по крайней мере один из параметров- SERVICE_EXTERNAL_ADDRESS/- EXTERNAL_ADDRESS.
- EXTERNAL_ADDRESS: (Опционально) IP-адрес или URL, который используется для доступа к веб-интерфейсу FindFace Security. Если параметр не задан, система автоматически определяет его как внешний IP-адрес. Для доступа в FindFace Security вы можете использовать оба IP-адреса: как автоопределенный, так и указанный в- EXTERNAL_ADDRESS.
- VIDEO_DETECTOR_TOKEN: придумайте токен и укажите его в данном параметре, чтобы авторизовать модуль видеодетекции лиц.
- VIDEO_MANAGER_ADDRESS: IP-адрес сервера- findface-video-manager.
- NTLS_HTTP_URL: IP-адрес сервера- findface-ntls.
- ROUTER_URL: IP-адрес сервера- findface-security, который будет получать обнаруженные на видео лица от экземпляров- findface-video-worker. Адрес указывается внутренний или внешний, в зависимости от сети, в которой- findface-video-workerвзаимодействует с- findface-security. Измените порт по умолчанию с учетом настроек переадресации с HTTP на HTTPS или вообще не указывайте его, оставив только IP-адрес.
- SF_API_ADDRESS: IP-адрес сервера- findface-sf-api.
- DATABASES(раздел): заполните его следующим образом:- 'PORT': 5439, 'USER': 'ntech', 'PASSWORD': ‘<пароль из /etc/pgbouncer/userlist.txt>’(см. Установка необходимого стороннего ПО).
 - Совет - Если необходимо обеспечить безопасность данных, включите SSL-шифрование. - Совет - При необходимости установите - ’IGNORE_UNMATCHED’: True, чтобы отключить запись события в базу данных, если обнаруженное лицо отсутствует в списках наблюдения (верификация дала отрицательный результат). Данную настройку рекомендуется использовать при большом количестве посетителей. Пороговая степень схожести при верификации лиц определяется параметром- CONFIDENCE_THRESHOLD.- Совет - Рекомендуется отредактировать значение параметра - MINIMUM_DOSSIER_QUALITY. Данный параметр определяет минимальное качество лица на фотографии в досье. Если качество лица хуже минимального, пользователь не сможет загрузить такую фотографию в досье. Прямые изображения лиц анфас считаются наиболее качественными. Им соответствуют значения вблизи 0, как правило, отрицательные (такие как -0.00067401276, например). Перевернутые лица и лица, повернутые под большими углами, характеризуются отрицательным значениям от -5 и меньше. По умолчанию- ’MINIMUM_DOSSIER_QUALITY’: -2, что соответствует среднему качеству.- Важно - Если вы включили модели распознавания в файле конфигурации - findface-extraction-api, добавьте следующую строку в секцию- FFSECURITY:- ’EVENTS_FEATURES': ['gender', 'age', 'emotions', 'beard', 'glasses’, ’medmask’], в зависимости от того, какие модели были включены. Данная строка должна быть расположена между строками- SF_API_ADDRESSи- LIVENESS_THRESHOLD, как показано в примере ниже. Подробнее см. Распознавание атрибутов лица.- sudo vi /etc/ffsecurity/config.py # ============================================================================== # FindFace Security configuration file # ============================================================================== # # This config file is written in Python's syntax and interpreted at FindFace Security # service startup. You have to restart the service in order to apply changes. # # If you have any questions or suggestions, please contact us at [email protected] # ============================================================================== # GENERAL SETTINGS # ============================================================================== # enables additional logs DEBUG = False # media files directory MEDIA_ROOT = "/var/lib/ffsecurity/uploads" # static files directory STATIC_ROOT = "/var/lib/ffsecurity/static" # language code LANGUAGE_CODE = 'en-us' # time zone TIME_ZONE = 'UTC' # Database is used by FindFace Security to store cameras, # camera groups, watchlists and so on. Only PostgreSQL is supported. DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'DISABLE_SERVER_SIDE_CURSORS': True, 'NAME': 'ffsecurity', 'PORT': 5439, 'USER': 'ntech', 'PASSWORD': '9T3g1nXy9yx3y8MIGm9fbef3dia8UTc3' } } # Signature key for session encryption # Use pwgen -sncy 50 1|tr "'" "." to generate your own unique key SECRET_KEY = 'd1c22e3b368f2f8be4caa95b3540ce0c' # ============================================================================== # FINDFACE SECURITY SETTINGS # ============================================================================== # SERVICE_EXTERNAL_ADDRESS is prioritized for FFSecurity webhooks and Genetec plugin. # EXTERNAL_ADDRESS is used instead if SERVICE_EXTERNAL_ADDRESS is not provided. # You must provide either SERVICE_EXTERNAL_ADDRESS or EXTERNAL_ADDRESS in order # to be able to work with FFSecurity webhooks and Genetec plugin. SERVICE_EXTERNAL_ADDRESS = 'http://127.0.0.1' # EXTERNAL_ADDRESS is used to access objects created inside FFSecurity via external links. EXTERNAL_ADDRESS = '' # - Base FFSecurity settings - FFSECURITY = { # findface-video-worker authorization token 'VIDEO_DETECTOR_TOKEN': 'fdc0fea20cf0a734c5e2de1886fc07b4', # base face matching confidence threshold 'CONFIDENCE_THRESHOLD': 0.739, # episodes specific matching threshold that is used to join faces in an episode 'EPISODES_THRESHOLD': 0.689, # minimum face quality sufficient to add it to a dossier 'MINIMUM_DOSSIER_QUALITY': -2, # skip all unmatched faces 'IGNORE_UNMATCHED': False, # matched events older than EVENTS_MAX_MATCHED_AGE will be automatically # deleted (every night at 1:17 am by default) 'EVENTS_MAX_MATCHED_AGE': 30, # same as above but for unmatched events 'EVENTS_MAX_UNMATCHED_AGE': 30, # same as EVENTS_MAX_MATCHED_AGE but for matched full frame images only (thumbnails won't be deleted) 'EVENTS_MAX_FULLFRAME_UNMATCHED_AGE': 30, # same as above but for unmatched full frame images only (thumbnails won't be deleted) 'EVENTS_MAX_FULLFRAME_MATCHED_AGE': 30, # NTLS licence server url 'NTLS_HTTP_URL': 'http://127.0.0.1:3185', # findface-video-worker face posting address, # it must be set to either FFSecurity EXTERNAL_ADDRESS (by default) # or findface-facerouter url (in some specific cases) 'ROUTER_URL': 'http://127.0.0.1', # send serialized dossiers, dossier-lists, camera and camera groups in webhooks 'VERBOSE_WEBHOOKS': False, 'THUMBNAIL_JPEG_QUALITY': 75, # FFServer services urls 'VIDEO_MANAGER_ADDRESS': 'http://127.0.0.1:18810', 'SF_API_ADDRESS': 'http://127.0.0.1:18411', 'FFCOUNTER_ADDRESS': 'http://127.0.0.1:17300', # additional events features. # make sure that corresponding extractors # are licensed and enabled at findface-extraction-api config file. # available features are: gender, age, emotions, beard, glasses, medmask. 'EVENTS_FEATURES': [], # feature specific confidence thresholds 'LIVENESS_THRESHOLD': 0.75, 'EMOTIONS_THRESHOLD': 0.25, 'BEARD_THRESHOLD': 0.7, # -- Persons configuration -- # rrule (recurrence rule) for scheduling persons clusterization 'PERSONS_CLUSTERIZATION_SCHEDULE': 'RRULE:FREQ=DAILY;INTERVAL=1;WKST=MO;BYHOUR=0;BYMINUTE=0', # face to person matching confidence threshold 'PERSONS_CONFIDENCE_THRESHOLD': 0.739, # minimum face quality for handle face in person service 'PERSON_EVENT_MIN_QUALITY': -2, # counters full frame saving options: # `always` - save always # `detect` - save only if faces or silhouettes have been detected # `never` - never save full frames 'COUNTERS_SAVE_FULLFRAME': 'always', 'COUNTERS_FULLFRAME_JPEG_QUALITY': 75, 'COUNTERS_THUMBNAIL_JPEG_QUALITY': 75, # -- Optional parameters -- # Edit CUSTOM_FIELDS section to customize dossier content. # Below is an example for integration FindFace Security with Sigur. # 'CUSTOM_FIELDS': { # 'dossier_meta': { # 'items': [ # { # 'name': 'personid', # 'default': '', # 'label': 'PersonID', # 'display': ['list', 'form'], # 'description': 'Sigur person ID' # }, # { # 'name': 'firstname', # 'default': '', # 'label': 'First Name', # 'display': ['list', 'form'], # 'description': 'Sigur first name' # }, # { # 'name': 'lastname', # 'default': '', # 'label': 'Last Name', # 'display': ['list', 'form'], # 'description': 'Sigur last name' # }, # { # 'name': 'version', # 'default': '', # 'label': 'Version', # 'display': ['list', 'form'], # 'description': 'Sigur photo version' # } # ], # 'filters': [ # { # 'name': 'personid', # 'label': 'Sigur person ID filter', # 'field': 'personid' # } # ] # } # }, # maximum event age in seconds than could be added to an episode. # 'EPISODE_SEARCH_INTERVAL': 60, # If none of these events matched, new episode is created. # maximum episode duration (episode is closed after) # 'EPISODE_MAX_DURATION': 300, # if no new event added to an episode during this timeout, episode will be closed. # 'EPISODE_EVENT_TIMEOUT': 30, # maximum created thumbnail width # 'THUMBNAIL_MAX_WIDTH': 320, # social backend url. Contact support for additional information. # 'SOCIAL_BACKEND': None, # 'SOCIAL_HEADERS': {}, # unacknowledged events notification interval # 'UNACKNOWLEDGED_NOTIFY_INTERVAL': 1, } # - FindFace Security user interface configuration dictionary - FFSECURITY_UI_CONFIG = { "event": { "features": { "f_gender_class": ["male", "female"], "age": { "f_age_gte": "", "f_age_lte": "" }, "f_emotions_class": ["angry", "disgust", "fear", "happy", "sad", "surprise", "neutral"], "f_glasses_class": ["none", "eye", "sun"], "f_beard_class": ["none", "beard"], "f_liveness_class": ["real", "fake"], "f_medmask_class": ["none", "correct"], } } } # -- ASGI-server configuration -- # consult support before changing these settings. # per worker thread pool size. ASGI_THREADS = 32 UVICORN_SETTINGS = { # worker processes count, 'auto' sets it to logical cpu count 'workers': 'auto', 'host': 'localhost', 'port': 8002, # websocket worker processes count, # 'auto' sets it to logical cpu count, but not more than 8. 'ws-workers': 'auto', 'ws-host': 'localhost', 'ws-port': 8003, } # disable unused services to increase # overall system performance in some cases. SERVICES = { "ffsecurity": { "episodes": True, "webhooks": True, "persons": False, } } # ============================================================================== # FINDFACE SECURITY PLUGINS # ============================================================================== # Uncomment lines below to enable plugins. Please consult documentation for # a plugin specific settings. # =============== Axxon ================ # INSTALLED_APPS.append('ffsecurity_axxon') # FFSECURITY['AXXON'] = [ # { # 'name': 'server_name', # 'api': 'http://example.com/', # 'rtsp': 'rtsp://example.com:554/', # 'user': 'user', # 'password': 'password', # } # ] # FFSECURITY_UI_CONFIG['dossier'] = { # 'video': True, # } # =============== Genetec ================ # INSTALLED_APPS.append('ffsecurity_genetec') # ================ Sova ================== # INSTALLED_APPS.append('ffsecurity_sova') # ======= CryptoPRO authentication ======= # INSTALLED_APPS.append('ffsecurity_cproauth') # REST_FRAMEWORK['DEFAULT_AUTHENTICATION_CLASSES'] = [ # 'ffsecurity.auth.TokenAuthentication', # 'ffsecurity_cproauth.auth.CryptoProOrTokenAuthentication' # ] # ========== DossierLists sync =========== # INSTALLED_APPS.append('ffsecurity_sync') # token must be identical on master and slave # use pwgen -s 64 1 # SYNC_TOKEN = 'change_me' # SYNC_TIME = { # # 24 hour format # 'hour': 3, # 'minute': 0, # } 
- Используя команду - pwgen -sncy 50 1|tr “’” “.”, сгенерируйте ключ подписи для шифрования сессии (используется в Django) и задайте его в параметре- SECRET_KEY.
- Запустите сервисы. - sudo systemctl enable findface-security sudo systemctl start findface-security 
- Отключите сервер nginx, активный по умолчанию, и добавьте сервер - findface-securityв список включенных серверов. Перезапустите nginx.- sudo rm /etc/nginx/sites-enabled/default sudo ln -s /etc/nginx/sites-available/ffsecurity-nginx.conf /etc/nginx/sites-enabled/ sudo nginx -s reload