Update FindFace Security to 4.1.x¶
Warning
FindFace Security 4.1.x utilizes a new version of Tarantool. The biometric database from previous FindFace Security versions (4.0 and earlier) is NOT COMPATIBLE with FindFace Security 4.1.x. Be sure to use the Backup/Restore functionality to update the product to 4.1.x (see the full algorithm below).
To update FindFace Security from any previous version to 4.1.x, do the following:
Open the
findface-security
configuration file. Save the values of the following parameters for later use:EXTERNAL_ADDRESS
,SECRET_KEY
,VIDEO_DETECTOR_TOKEN
,ROUTER_URL
.sudo vi /etc/ffsecurity/config.py EXTERNAL_ADDRESS = "http://172.20.77.58" ... # use pwgen -sncy 50 1|tr "'" "." to generate your own unique key SECRET_KEY = 'c8b533847bbf7142102de1349d33a1f6' FFSECURITY = { 'VIDEO_DETECTOR_TOKEN': '381b0f4a20495227d04185ab02f5085f', ... 'ROUTER_URL': 'http://172.20.77.58', ... }
Stop the
findface-security
service.sudo systemctl stop findface-security*
Create a backup of the Tarantool-based biometric database in any directory of your choice, for example,
/tmp/dump
.Tip
See Backup and Restore Data Storages for details.
mkdir -p /tmp/dump cd /tmp/dump sudo findface-storage-api-dump -config /etc/findface-sf-api.ini
Install the apt repository with the new FindFace Security, using the console installer as described in this section.
Install the services from the repository, following your architecture outline.
CPU-version:
sudo apt update sudo apt install ffsecurity ffsecurity-ui findface-extraction-api findface-ntls findface-sf-api findface-tarantool-server findface-upload findface-video-manager findface-video-worker-cpu
GPU-version:
sudo apt update sudo apt install ffsecurity ffsecurity-ui findface-extraction-api-gpu findface-ntls findface-sf-api findface-tarantool-server findface-upload findface-video-manager findface-video-worker-gpu findface-gpudetector-data
Open the
findface-security
configuration file and paste the savedEXTERNAL_ADDRESS
,SECRET_KEY
,VIDEO_DETECTOR_TOKEN
, andROUTER_URL
into it.sudo vi /etc/ffsecurity/config.py
Modify the Tarantool database structure by applying the
tnt_schema.lua
file from the new version.sudo findface-security make_tnt_schema | sudo tee /etc/ffsecurity/tnt_schema.lua
Stop the
findface-tarantool-server
shards. Remove the Tarantool database (default database or shards).sudo systemctl stop 'tarantool@*' sudo rm -R /opt/ntech/var/lib/tarantool/shard-00*/index/* sudo rm -R /opt/ntech/var/lib/tarantool/shard-00*/snapshots/* sudo rm -R /opt/ntech/var/lib/tarantool/shard-00*/xlogs/*
Restart the
findface-tarantool-server
shards.TNT=$(ls /etc/tarantool/instances.enabled/ | wc -l) for i in $(seq 1 $TNT); do sudo systemctl start tarantool@shard-00$i.service ; done
Restore the Tarantool database from the backup.
cd /tmp/dump for x in *.json; do sudo findface-storage-api-restore -config /etc/findface-sf-api.ini < "$x"; done
Migrate the main database architecture from FindFace Security to PostgreSQL, re-create user groups with predefined rights and the first user with administrator rights.
sudo findface-security migrate sudo findface-security create_groups sudo findface-security create_default_user
Restart the services.
sudo systemctl restart findface-security.service sudo systemctl restart findface-extraction-api findface-video-worker* findface-video-manager findface-sf-api