.. _installer: Deploy from Console Installer --------------------------------------------------------------- To deploy FindFace Security, use a developer-friendly console installer. .. tip:: Before deployment, be sure to consult the :ref:`system requirements `. .. important:: The FindFace Security 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. To deploy FindFace Security from the console installer, do the following: #. Download the installer file ``findface-security-and-server-4.4.run``. #. Put the ``.run`` file into some directory on the designated host (for example, ``/home/username``). #. From this directory, make the ``.run`` file executable. .. code:: chmod +x findface-security-and-server-4.4.run #. Execute the ``.run`` file. .. code:: sudo ./findface-security-and-server-4.4.run The installer will ask you a few questions and perform several automated checks to ensure that the host meets the system requirements. Fill out the prompts appropriately once requested. The questions are the following: #. Product to install: FindFace Security. #. Installation type: * ``1``: install FindFace Security standalone. * ``2``: install FindFace Security and configure it to interact with additional remote ``findface-video-worker`` instances. .. tip:: To install only ``findface-video-worker`` on a host, refer to :ref:`video-worker-installer`. * ``3``: install only the apt repository that can be further used for the :ref:`step-by-step deployment `. .. important:: This installation type doesn't provide installation of neural network models essential for the ``findface-extraction-api`` functioning. Be sure to :ref:`manually install ` them on the host(s) with ``findface-extraction-api``. * ``4``: fully customized installation. .. important:: Be sure to :ref:`manually install ` neural network models on the host(s) with ``findface-extraction-api``. #. Type of ``findface-video-worker`` package: CPU or GPU. #. Type of ``findface-extraction-api`` package: CPU or GPU. Once all the questions answered, the answers will be saved to a file ``/tmp/.json``. You can edit this file and use it to install FindFace Security on other hosts without having to answer the questions again. Should you choose to install FindFace Security standalone, its components will be automatically installed, configured and/or started in the following configuration: .. important:: In the case of a clean install, the installer will automatically configure ``findface-extraction-api`` to use the ``ifruit_320`` neural network. Otherwise, you will be able to choose between ``ifruit_320`` and the previous model. It is strictly not recommended to use the installer to update the system. See :ref:`update` for the instructions. +--------------------------------------+-------------------------------------------------------------------------------------------------------+ | Service | Configuration | +======================================+=======================================================================================================+ | postgresql-10 | Installed and started. | +--------------------------------------+-------------------------------------------------------------------------------------------------------+ | redis-server | Installed and started. | +--------------------------------------+-------------------------------------------------------------------------------------------------------+ | etcd | Installed and started. | +--------------------------------------+-------------------------------------------------------------------------------------------------------+ | pgbouncer | Installed and started. | +--------------------------------------+-------------------------------------------------------------------------------------------------------+ | memcached | Installed and started. | +--------------------------------------+-------------------------------------------------------------------------------------------------------+ | nginx | Installed and started. | +--------------------------------------+-------------------------------------------------------------------------------------------------------+ | django | Installed and started as a web framework for the FindFace Security web interface. | +--------------------------------------+-------------------------------------------------------------------------------------------------------+ | findface-ntls | Installed and started. | +--------------------------------------+-------------------------------------------------------------------------------------------------------+ | findface-tarantool-server | Installed and started. The number of instances (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, should the first obtained value be greater. | +--------------------------------------+-------------------------------------------------------------------------------------------------------+ | findface-extraction-api | Installed and started. | +--------------------------------------+-------------------------------------------------------------------------------------------------------+ | findface-sf-api | Installed and started. | +--------------------------------------+-------------------------------------------------------------------------------------------------------+ | findface-upload | Installed. | +--------------------------------------+-------------------------------------------------------------------------------------------------------+ | findface-video-manager | Installed and started (CPU/GPU-acceleration). | +--------------------------------------+-------------------------------------------------------------------------------------------------------+ | findface-video-worker-* | Installed and started. | +--------------------------------------+-------------------------------------------------------------------------------------------------------+ | findface-data-* | Neural network models for face and face features recognition (gender, age, emotions, glasses, beard, | | | and face mask). Installed. | +--------------------------------------+-------------------------------------------------------------------------------------------------------+ | findface-gpudetector-data | NTechLab gpudetector data. Installed. | +--------------------------------------+-------------------------------------------------------------------------------------------------------+ | python3-ntech.ffsecurity-client | NtechLab FindFace Security API python client library. Installed. | +--------------------------------------+-------------------------------------------------------------------------------------------------------+ | findface-security | Installed and started. | +--------------------------------------+-------------------------------------------------------------------------------------------------------+ | findface-counter | Installed and started. | +--------------------------------------+-------------------------------------------------------------------------------------------------------+ | jq | Installed. Used to pretty-print API responses from FindFace Security. | +--------------------------------------+-------------------------------------------------------------------------------------------------------+ 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 # ############################################################################# - upload your license to http://172.20.77.17/#/license/ - user interface: http://172.20.77.17/ superuser: admin password: admin documentation: http://172.20.77.17/doc/ #. Upload the FindFace Security license file via the main web interface ``http:///#/license``. To access the web interface, use the provided ``admin`` credentials. .. note:: The host IP address is shown in the links to FindFace web services in the following way: as an external IP address if the host belongs to a network, or ``127.0.0.1`` otherwise. .. important:: Do not disclose the superuser (Super Administrator) credentials to others. To administer the system, create a new user with administrator privileges. Whatever the role, the Super Administrator cannot be deprived of its rights. #. To automatically install FindFace Security on another host without answering the installation questions, use the ``/tmp/.json`` file. Execute: .. code:: sudo ./findface-security-and-server-4.4.run -f /tmp/.json .. tip:: You can find an example of the installation file in :ref:`installation-file`. .. important:: To preserve the FindFace Security compatibility with the installation environment, we highly recommend you to disable the Ubuntu automatic update. In this case, you will be able to update your OS manually, fully controlling which packages to update. To disable the Ubuntu automatic update, execute the following commands: .. code:: sudo apt-get remove unattended-upgrades sudo systemctl stop apt-daily.timer sudo systemctl disable apt-daily.timer sudo systemctl disable apt-daily.service sudo systemctl daemon-reload