Linux dependencies

Note: Don't follow this step if you plan to run BlurIt OP on Windows. Go there instead.

This script will install the software requirements to run BlurIt On-Premise on your server. It will install Nvidia drivers, Docker CE, and Nvidia-docker on Ubuntu, Debian, and RHEL/CentOS. If you are installing BlurIt on an old server and want to maintain specific version dependencies, we don't recommend to use this script but rather to manually install everything.

To begin, extract the BlurIt OP archive using the following command:

tar -xzf filename.tar.gz
cd blurit-op

Replace "filename" with the actual name of the archive that was provided to you.

To start the script, execute the following command:

sudo ./install_dependencies.sh

🚨 After execution of the script, please reboot the server to load the Nvidia drivers and go to the Configuration page. 🚨

Choice 2 : manual dependencies installation

Nvidia drivers Installation

  1. Download the NVIDIA driver >= 470 runfile from: https://www.nvidia.com/Download/index.aspx?lang=en-us

  2. Open a terminal and navigate to the directory where the downloaded runfile is located.

  3. $ chmod +x <filename>.run Replace <filename> with the actual name of the downloaded runfile.

  4. $ sudo ./<filename>.run

  5. $ sudo reboot

Docker Installation

The Docker installation documentation is here.

sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common
sudo install -m 0755 -d /etc/apt/keyrings

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin

Post-install docker linux (required):

sudo groupadd docker
sudo usermod -aG docker $USER

Docker-compose

Docker-compose version must be <= 1.29.

sudo curl -SL https://github.com/docker/compose/releases/download/1.29.2/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Nvidia-docker installation

Nvidia-docker installation documentation is here.

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
      & curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
      && curl -s -L https://nvidia.github.io/libnvidia-container/experimental/$distribution/libnvidia-container.list | \
         sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
         sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit

Configure the Docker daemon to recognize the NVIDIA Container Runtime:

sudo nvidia-ctk runtime configure --runtime=docker

Restart the Docker daemon to complete the installation after setting the default runtime:

sudo systemctl restart docker

Test if Nvidia-docker is installed:

sudo docker run --rm --runtime=nvidia --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi

This should result in a console output shown below:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.51.06    Driver Version: 450.51.06    CUDA Version: 11.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  Tesla T4            On   | 00000000:00:1E.0 Off |                    0 |
| N/A   34C    P8     9W /  70W |      0MiB / 15109MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

Configuring daemon.json

Open /etc/docker/daemon.json with your favorite text editor.

Add "default-runtime": "nvidia", to the json. Exemple:

/etc/docker/daemon.json
{
  "default-runtime": "nvidia",
  "runtimes": {
    "nvidia": {
      "args": [],
      "path": "nvidia-container-runtime
    }
  }
}
Configuration