.. _installer: FindFace Multi Standalone Automated Deployment --------------------------------------------------------------- To deploy FindFace Multi as a standalone server in one run, follow the instructions below. Being the simplest, this installation type is excellent to start off your work with FindFace Multi. Be sure to meet the :ref:`system requirements ` and :ref:`prepare the server ` first. .. important:: The FindFace Multi host must have a static IP address in order to be running successfully. To make the IP address static, open the ``/etc/network/interfaces`` file and modify the current primary network interface entry as shown in the case study below. Be sure to substitute the suggested addresses with the actual ones, subject to your network specification. .. code:: sudo vi /etc/network/interfaces iface eth0 inet static address 192.168.112.144 netmask 255.255.255.0 gateway 192.168.112.254 dns-nameservers 192.168.112.254 Restart networking. .. code:: sudo service networking restart Be sure to edit the ``etc/network/interfaces`` file with extreme care. Please refer to the Ubuntu `guide on networking `_ before proceeding. Do the following: #. Download the installer file ``findface-*.run``. #. Put the ``.run`` file into some directory on the designated host (for example, ``/home/username``). #. From this directory, make the ``.run`` file executable. .. note:: Be sure to specify the actual file name instead of ``findface-*``. .. code:: chmod +x findface-*.run #. Execute the ``.run`` file. .. code:: sudo ./findface-*.run The installer will ask you a few questions and perform several automated checks to ensure that the host meets the system requirements. After filling out each prompt, press :kbd:`Enter`. The questions and answers are the following: #. Q: ``Which product should be installed?`` A: ``1`` .. code:: 1. [multi ] FindFace Multi 2. [server ] FindFace Server 3. [video-worker] FindFace Video Worker (default: multi) product> 1 #. Q: ``Please choose installation type:`` A: ``1`` .. code:: - 1 [stand-alone ] Single Server - 2 [multi-worker] Single Server, Multiple video workers - 3 [images ] Don't install anything, just load the images - 4 [custom ] Fully customized installation (default: stand-alone) type> 1 #. Q: ``Directory to install into:`` A: Specify the FindFace Multi installation directory. By default, it's ``/opt/findface-multi``. Press :kbd:`Enter` to confirm it. Otherwise, specify the directory of your choice and press :kbd:`Enter`. .. code:: Directory to install into: (default: /opt/findface-multi) dest_dir> #. Q: ``Do you want to install Video Recorder?(y/n)`` A: ``y`` or ``n``, subject to your needs. .. code:: Do you want to install Video Recorder?(y/n) install_video_recorder> n #. Q: ``Found X interface(s). Which one should we announce as our external address?`` A: Choose the interface that you are going to use as the instance IP address. .. code:: Found 1 interface(s). Which one should we announce as our external address? - 1 [lo ] 127.0.0.1 - 2 [ens3 ] 192.168.112.254 (default: 192.168.112.254) ext_ip.advertised> 2 #. Q: ``Which variant of Video Worker should be installed?`` A: Specify the ``findface-video-worker`` package type, CPU or GPU. .. code:: Which variant of Video Worker should be installed? - 1 [cpu] CPU-based implementation, slower but doesn't require GPU - 2 [gpu] CUDA-based implementation of video detector, requires NVIDIA GPU (default: cpu) findface-video-worker.variant> 1 #. Q: ``Which variant of Extraction API should be installed?`` A: Specify the ``findface-extraction-api`` package type, CPU or GPU. .. code:: Which variant of Extraction API should be installed? - 1 [cpu] CPU-only implementation, slower but doesn't require GPU - 2 [gpu] CUDA-based implementation, faster, requires NVIDIA GPU (supports both CPU and GPU models) (default: cpu) findface-extraction-api.variant> 1 #. Q: ``Do you want to configure detectors and features right now?(y/n)`` A: We recommend you to install and configure the object detection and object attribute recognition functionality straightaway during the installation. Answer ``y`` to initiate the process. You can skip it, though, by answering ``n`` and perform the necessary steps later, following the instructions in the :ref:`face-features`, :ref:`cars`, and :ref:`bodies` sections. .. code:: Do you want to configure detectors and features right now?(y/n) configure> y #. Q: ``Please select detectors to install:`` A: This question appears if you have requested installation and configuration of the object detection and object attribute recognition functions. In the multiple choice form, the face detector is checked by default. Enter a relevant number to select an unpicked detector and vice versa. For example, to add the body and vehicle detector to your configuration , enter ``2 3``. Enter ``done`` to proceed. .. code:: Please select detectors to install: - 1 [v] Face - 2 [ ] Body - 3 [ ] Car Enter keyword to select matching choices or -keyword to clear selection. Enter "done" to save your selection and proceed to another step. detectors>2 3 - 1 [v] Face - 2 [v] Body - 3 [v] Car Enter keyword to select matching choices or -keyword to clear selection. Enter "done" to save your selection and proceed to another step. detectors> done #. Q: ``Enable liveness and attempt to continue installation?(y/n)`` A: This question appears if you have requested installation and configuration of the object detection and object attribute recognition functions. To install the embedded face liveness detector, enter ``y``. Enter ``n`` otherwise. .. code:: Enable liveness and attempt to continue installation?(y/n) enable_liveness> y #. Q: ``Please select face features to install:`` A: This question appears if you have requested installation and configuration of the face detection and face attribute recognition functions. By default, all face attributes are subject to installation. Answer ``done`` to confirm it. If some attribute is not necessary, you can enter the keyword (number) related to it. For example, enter ``7`` to exclude the head pose recognition. Then enter ``done``. Questions on body and vehicle attribute recognition will be analogous, with multiple choice forms depending on the requested detector type. .. code:: Please select face features to install: - 1 [v] Age - 2 [v] Gender - 3 [v] Emotions - 4 [v] Beard - 5 [v] Glasses - 6 [v] Medicine masks - 7 [v] Headpose Enter keyword to select matching choices or -keyword to clear selection. Enter "done" to save your selection and proceed to another step. face_features> done Questions on body and vehicle attribute recognition will be analogous, with multiple choice forms depending on the requested detector type. #. Q: ``Please set findface-multi admin password`` A: Set the Super Administrator (``superuser``) password. .. code:: Please set findface-multi admin password findface-multi-admin-password> admin The installer will pull the FindFace Multi images from the Ntechlab registry and start the following services in Docker containers: +------------------------------------+----------------------------------------------------+-----------------------------------------------------------------------+ | Service | Container | Configuration | +====================================+====================================================+=======================================================================+ | findface-multi-pause | findface-multi-findface-multi-pause-1 | Started | +------------------------------------+----------------------------------------------------+-----------------------------------------------------------------------+ | nats-jetstream | findface-multi-nats-jetstream-1 | Started | +------------------------------------+----------------------------------------------------+-----------------------------------------------------------------------+ | mongodb | findface-multi-mongodb-1 | Installed with Video Recorder. Started | +------------------------------------+----------------------------------------------------+-----------------------------------------------------------------------+ | findface-ntls | findface-multi-findface-ntls-1 | Started | +------------------------------------+----------------------------------------------------+-----------------------------------------------------------------------+ | nats | findface-multi-nats-1 | Started | +------------------------------------+----------------------------------------------------+-----------------------------------------------------------------------+ | postgresql | findface-multi-postgresql-1 | Started | +------------------------------------+----------------------------------------------------+-----------------------------------------------------------------------+ | memcached | findface-multi-memcached-1 | Started | +------------------------------------+----------------------------------------------------+-----------------------------------------------------------------------+ | findface-upload | findface-multi-findface-upload-1 | Started | +------------------------------------+----------------------------------------------------+-----------------------------------------------------------------------+ | etcd | findface-multi-etcd-1 | Started | +------------------------------------+----------------------------------------------------+-----------------------------------------------------------------------+ | findface-sf-api | findface-multi-findface-sf-api-1 | Started | +------------------------------------+----------------------------------------------------+-----------------------------------------------------------------------+ | findface-extraction-api | findface-multi-findface-extraction-api-1 | Started (CPU/GPU-acceleration) | +------------------------------------+----------------------------------------------------+-----------------------------------------------------------------------+ | findface-tarantool-server-shard-* | findface-multi-findface-tarantool-server-shard-\*-1| Started. The number of shards is calculated using the formula: | | | | ``N = min(max(min(mem_mb // 2000, cpu_cores), 1), 16 * cpu_cores)``. | | | | I.e., it is equal to the RAM size in MB divided by 2000, or the | | | | number of CPU physical cores (but at least one shard), or the number | | | | of CPU physical cores multiplied by 16, if the first obtained value | | | | is greater. | +------------------------------------+----------------------------------------------------+-----------------------------------------------------------------------+ | findface-video-manager | findface-multi-findface-video-manager-1 | Started | +------------------------------------+----------------------------------------------------+-----------------------------------------------------------------------+ | findface-counter | findface-multi-findface-counter-1 | Started | +------------------------------------+----------------------------------------------------+-----------------------------------------------------------------------+ | findface-video-streamer | findface-multi-findface-video-streamer-1 | Installed with Video Recorder. Started | +------------------------------------+----------------------------------------------------+-----------------------------------------------------------------------+ | findface-video-storage | findface-multi-findface-video-storage-1 | Installed with Video Recorder. Started | +------------------------------------+----------------------------------------------------+-----------------------------------------------------------------------+ | pgbouncer | findface-multi-pgbouncer-1 | Started | +------------------------------------+----------------------------------------------------+-----------------------------------------------------------------------+ | findface-liveness-api | findface-multi-findface-liveness-api-1 | Started | +------------------------------------+----------------------------------------------------+-----------------------------------------------------------------------+ | findface-video-worker | findface-multi-findface-video-worker-1 | Started (CPU/GPU-acceleration) | +------------------------------------+----------------------------------------------------+-----------------------------------------------------------------------+ | findface-onvif-discovery | findface-multi-findface-onvif-discovery-1 | Started | +------------------------------------+----------------------------------------------------+-----------------------------------------------------------------------+ | findface-multi-audit | findface-multi-findface-multi-audit-1 | Started | +------------------------------------+----------------------------------------------------+-----------------------------------------------------------------------+ | findface-multi-identity-provider | findface-multi-findface-multi-identity-provider-1 | Started | +------------------------------------+----------------------------------------------------+-----------------------------------------------------------------------+ | findface-multi-legacy | findface-multi-findface-multi-legacy-1 | Started | +------------------------------------+----------------------------------------------------+-----------------------------------------------------------------------+ | findface-multi-ui | findface-multi-findface-multi-ui-1 | Started | +------------------------------------+----------------------------------------------------+-----------------------------------------------------------------------+ After the installation is complete, the following output is shown on the console: .. tip:: Be sure to save this data: you will need it later. .. code:: ############################################################################# # Installation is complete # ############################################################################# - all configuration and data is stored in /opt/findface-multi - upload your license to http://192.168.0.90/#/license/ - user interface: http://192.168.0.90/ superuser: admin documentation: http://192.168.0.90/doc/ Installation logfile: /tmp/installer_run_2570703278.log #. Perform the :ref:`post-deployment procedures `. .. tip:: To install the same configuration of FindFace Multi on a different host, use the automatic deployment from the installation file. In this case, you won't have to answer the installation questions again. The exact path to the installation file is displayed right after the last question, before the installer starts active progress: .. code:: [I 2023-02-09 11:13:37,187 main:142] Your answers were saved to /tmp/findface-installer-p01n9sn3.json Be sure to remove fields ``*.config``, ``exp_ip``, and ``int_ip`` before installing FindFace Multi on a host with a different IP address. To launch the automatic deployment from the ``/tmp/.json`` file, execute: .. code:: sudo ./.run -f /tmp/.json