.. _deploy-prepare-centos: CentOS 7 Server Preparation --------------------------------------------------------------- To prepare a server on CentOS 7 for the FindFace Multi deployment, follow the instructions below minding the sequence. .. note:: For other platforms, please refer to the following resources: * `NVIDIA drivers `__ * `Docker Engine `__ * `Docker Compose `__ * `NVIDIA Container Toolkit `__ .. rubric:: In this section: .. contents:: :local: Install Updates ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #. Run updates and reboot the server. .. code:: sudo yum update sudo reboot #. Install ``fuse`` by running the following command. .. code:: sudo yum -y install fuse GPU: Install NVIDIA Drivers ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The first step of the server preparation is the NVIDIA driver installation. It's applicable only for the GPU configuration. Go straight to the :ref:`Docker installation ` if your configuration is CPU-accelerated. With the GPU-accelerated FindFace Multi, you'll need the NVIDIA driver version ``530`` or above. Download a relevant ``.run`` installer from `NVIDIA Driver Downloads `__. Since you use a ``.run`` installer from NVIDIA, the following dependencies must be installed: .. code:: sudo yum install kernel-devel gcc kernel-headers .. _docker_centos: Install Docker Products ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Docker products must be installed on both CPU and GPU servers. Do the following: #. Install the ``yum-utils`` package (which provides the ``yum-config-manager`` utility) and set up the repository. .. code:: sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo #. Install ``24.*`` versions of Docker products. .. code:: sudo yum install docker-ce-3:24* docker-ce-cli-1:24* docker-ce-rootless-extras-24* containerd.io docker-buildx-plugin docker-compose-plugin #. Start and enable Docker. .. code:: sudo systemctl start docker sudo systemctl enable docker #. Check whether the Docker installation was a success. The following command downloads a test image and runs it in a container. When the container runs, it prints a confirmation message and exits. .. code:: sudo docker run hello-world Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 2db29710123e: Pull complete Digest: sha256:aa0cc8055b82dc2509bed2e19b275c8f463506616377219d9642221ab53cf9fe Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64) 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal. To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash Share images, automate workflows, and more with a free Docker ID: https://hub.docker.com/ For more examples and ideas, visit: https://docs.docker.com/get-started/ #. Install ``docker-compose``. .. code:: sudo curl -SL https://github.com/docker/compose/releases/download/v2.15.1/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose #. Perform the `Docker Engine post-installation procedures `__ to ease your future work with Docker and :ref:`FindFace Multi containers `. Once you can manage Docker as a non-root user, you don't have to apply ``sudo`` in the commands related to Docker. .. code:: sudo groupadd docker sudo usermod -aG docker $USER newgrp docker #. Configure the Docker network and ``devicemapper`` usage. .. code:: sudo su BIP=10.$((RANDOM % 256)).$((RANDOM % 256)).1 cat > /etc/docker/daemon.json < /etc/docker/daemon.json <