.. _installer: FindFace CIBR Standalone Automated Deployment --------------------------------------------------------------- To deploy FindFace CIBR 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 CIBR. Be sure to meet the :ref:`system requirements ` and, depending on your OS, prepare the server first: See: * :ref:`deploy-prepare-server` * :ref:`deploy-prepare-centos` * :ref:`deploy-prepare-debian` .. important:: The FindFace CIBR 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 [cibr ] FindFace CIBR - 2 [video-worker] FindFace Video Worker (default: cibr) 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 configure or start anything, just load the images and copy the models - 4 [custom ] Fully customized installation (default: stand-alone) type> 1 #. Q: ``Directory to install into:`` A: Specify the FindFace CIBR installation directory. By default, it's ``/opt/findface-cibr``. 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-cibr) dest_dir> #. 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 2 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 face features right now?(y/n)`` A: We recommend you to configure face 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` section. .. code:: Do you want to configure face features right now?(y/n) configure> y #. Q: ``Please select face features to install:`` A: This question appears if you have requested configuration of face attributes. 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``. .. 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 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 #. Q: ``Please set findface-cibr admin password`` A: Set the Super Administrator (``superuser``) password. .. code:: Please set findface-cibr admin password findface-multi-admin-password> admin After the final question you will see a path to a JSON file with your answers: .. code:: Your answers were saved to /tmp/findface-installer-t8qk_isw.json The installer will pull the FindFace CIBR images from the Ntechlab registry and start the following services in Docker containers: +----------------------------------------+---------------------------------------------------------+---------------------------------------------------------------+ | Service | Container | Configuration | +========================================+=========================================================+===============================================================+ | pause | findface-cibr-pause-1 | Started | +----------------------------------------+---------------------------------------------------------+---------------------------------------------------------------+ | nats-jetstream | findface-cibr-nats-jetstream-1 | Started | +----------------------------------------+---------------------------------------------------------+---------------------------------------------------------------+ | mongodb | findface-cibr-mongodb-1 | Started | +----------------------------------------+---------------------------------------------------------+---------------------------------------------------------------+ | findface-ntls | findface-cibr-findface-ntls-1 | Started | +----------------------------------------+---------------------------------------------------------+---------------------------------------------------------------+ | nats | findface-cibr-nats-1 | Started | +----------------------------------------+---------------------------------------------------------+---------------------------------------------------------------+ | postgresql | findface-cibr-postgresql-1 | Started | +----------------------------------------+---------------------------------------------------------+---------------------------------------------------------------+ | memcached | findface-cibr-memcached-1 | Started | +----------------------------------------+---------------------------------------------------------+---------------------------------------------------------------+ | findface-upload | findface-cibr-findface-upload-1 | Started | +----------------------------------------+---------------------------------------------------------+---------------------------------------------------------------+ | etcd | findface-cibr-etcd-1 | Started | +----------------------------------------+---------------------------------------------------------+---------------------------------------------------------------+ | findface-sf-api | findface-cibr-findface-sf-api-1 | Started | +----------------------------------------+---------------------------------------------------------+---------------------------------------------------------------+ | findface-extraction-api | findface-cibr-findface-extraction-api-1 | Started (CPU/GPU-acceleration) | +----------------------------------------+---------------------------------------------------------+---------------------------------------------------------------+ | findface-tarantool-server-shard-* | findface-cibr-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-cibr-findface-video-manager-1 | Started | +----------------------------------------+---------------------------------------------------------+---------------------------------------------------------------+ | findface-counter | findface-cibr-findface-counter-1 | Started | +----------------------------------------+---------------------------------------------------------+---------------------------------------------------------------+ | pgbouncer | findface-cibr-pgbouncer-1 | Started | +----------------------------------------+---------------------------------------------------------+---------------------------------------------------------------+ | findface-liveness-api | findface-cibr-findface-liveness-api-1 | Started | +----------------------------------------+---------------------------------------------------------+---------------------------------------------------------------+ | findface-video-worker | findface-cibr-findface-video-worker-1 | Started (CPU/GPU-acceleration) | +----------------------------------------+---------------------------------------------------------+---------------------------------------------------------------+ | findface-multi-audit | findface-cibr-findface-multi-audit-1 | Started | +----------------------------------------+---------------------------------------------------------+---------------------------------------------------------------+ | findface-multi-identity-provider | findface-cibr-findface-multi-identity-provider-1 | Started | +----------------------------------------+---------------------------------------------------------+---------------------------------------------------------------+ | findface-multi-legacy | findface-cibr-findface-multi-legacy-1 | Started | +----------------------------------------+---------------------------------------------------------+---------------------------------------------------------------+ | findface-multi-ui | findface-cibr-findface-multi-ui-1 | Started | +----------------------------------------+---------------------------------------------------------+---------------------------------------------------------------+ | redis | findface-cibr-redis-1 | Started | +----------------------------------------+---------------------------------------------------------+---------------------------------------------------------------+ | cleaner | findface-cibr-cleaner-1 | Started | +----------------------------------------+---------------------------------------------------------+---------------------------------------------------------------+ After the installation is complete, the following output is shown in 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-cibr - upload your license to http://192.168.112.254/#/license/ - user interface: http://192.168.112.254/ superuser: admin documentation: http://192.168.112.254/doc/ 2023/10/17 09:24:25 Installer finished #. Perform the :ref:`post-deployment procedures `. .. tip:: To install the same configuration of FindFace CIBR 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 a JSON file with answers is displayed right after the last question, before the installer starts active progress: .. code:: [I 2023-10-17 09:20:57,264 main:142] Your answers were saved to /tmp/findface-installer-t8qk_isw.json Be sure to remove fields ``*.config``, ``exp_ip``, and ``int_ip`` before installing FindFace CIBR 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