Skip to content

Installation (experimental)

Experimental Feature

This installation method is experimental and may not work as expected. Use at your own risk.

IRIS+ Professional can be installed using Ansible to automate the deployment process - This guide provides step-by-step instructions.

Tip

It is recommended to have a high speed network connection, as multiple GBs of data will be downloaded during installation.

Docker credentials required

You will need valid Docker credentials to proceed with the installation. Make sure you have your Docker username and password ready, as they will be required in later steps. If you do not have these credentials, please contact technicalsupport@irisity.com to obtain them before continuing.

Installation via Ansible requires two types of machines:

  • Control Machine: The machine where Ansible is installed. It runs the playbooks as well as the coordinate operations.

  • Target Machine: The machines where IRIS+ Professional is to be installed or updated. The target machine can be classified by deployment type, which can be core or indexer. There must be at least 1 core and 1 indexer nodes in either distributed or standalone mode. The indexer nodes can be scaled horizontally.

You must have SSH capability from the Control to the Target machines.

Info

A single machine can function as both the control and the target machine in an Ansible setup. This means you can install Ansible on the same machine as IRIS+ Professional and include it in the inventory, allowing it to manage itself along with other machines. This configuration enables the machine to execute Ansible tasks on itself as well as on other target systems.


Prerequisites

Before proceeding with the installation, ensure that you have the following prerequisites in place:

Control node

  • python3 python3-pip python3-venv

    sudo apt update && \
    sudo apt -y install python3 python3-pip python3-venv
    
  • docker

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg && \
    echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    
    curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg && \
    echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    

Target node

1. System update

Make sure your operating system is up-to-date.

1
2
3
sudo apt update && \
sudo apt upgrade -y && \
sudo reboot

2. Add Docker GPG key and repository

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg && \
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

3. (Indexer nodes only) Add NVIDIA Docker GPG key and repository

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg && \
echo 'deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://nvidia.github.io/libnvidia-container/stable/deb/$(ARCH) /' | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list > /dev/null

4. Install required dependencies

1
2
3
sudo apt update && \
sudo apt -y install gpg ca-certificates curl software-properties-common docker-ce docker-ce-cli docker-compose-plugin containerd.io python3-pip python3-venv nvidia-driver-580 nvidia-docker2 openssh-server && \
sudo reboot
1
2
3
sudo apt update && \
sudo apt -y install gpg ca-certificates curl software-properties-common docker-ce docker-ce-cli docker-compose-plugin containerd.io python3-pip python3-venv openssh-server && \
sudo reboot

1. System update

Make sure your operating system is up-to-date.

1
2
3
sudo apt update && \
sudo apt upgrade -y && \
sudo reboot

2. Add Docker GPG key and repository

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg && \
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

3. (Indexer nodes only) Add NVIDIA Docker GPG key and repository

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg && \
echo 'deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://nvidia.github.io/libnvidia-container/stable/deb/$(ARCH) /' | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list > /dev/null

4. (Indexer nodes only) Install NVIDIA CUDA keyring

1
2
3
wget https://developer.download.nvidia.com/compute/cuda/repos/debian12/x86_64/cuda-keyring_1.1-1_all.deb  -P /tmp && \
sudo dpkg -i /tmp/cuda-keyring_1.1-1_all.deb && \
sudo rm /tmp/cuda-keyring_1.1-1_all.deb

5. Install required dependencies

1
2
3
sudo apt update && \
sudo apt -y install linux-headers-$(uname -r) nvidia-driver cuda-drivers  ca-certificates curl software-properties-common docker-ce docker-ce-cli docker-compose-plugin containerd.io python3-pip python3-venv nvidia-docker2 openssh-server && \
sudo reboot
1
2
3
sudo apt update && \
sudo apt -y install ca-certificates curl software-properties-common docker-ce docker-ce-cli docker-compose-plugin containerd.io python3-pip python3-venv openssh-server && \
sudo reboot

You can verify that Docker and the NVIDIA GPU driver is installed correctly by running the following commands:

nvidia-smi
docker run hello-world
Expected output
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.65.06              Driver Version: 580.65.06      CUDA Version: 13.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  NVIDIA GeForce RTX 2070        Off |   00000000:01:00.0 Off |                  N/A |
| 23%   34C    P8             36W /  175W |       1MiB /   8192MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+
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/

Installation

Make sure to have the following information ready before proceeding with the installation:

  • Docker Hub username and password.

  • Target machine IP address or hostname.

  • SSH username and password or SSH private key for the target machine.

  • Deployment configuration type (standalone, core or indexer).

Additionally, the installation requires knowledge of your local networking setup - consult your network administrator if necessary.

1. Ensure that the current user has access to the docker API without additional privileges.

Info

You can verify access to docker with the following command:

docker ps
sudo usermod -aG docker $USER

You may need to log out and log back in for the group changes to take effect.

2. Initialise Python virtual environment.

python3 -m venv ~/.professional_env

3. Begin installation.

1
2
3
4
source ~/.professional_env/bin/activate && \
pip3 install --extra-index-url https://pip.professional.irisity.com/simple iris-plus-pro-installer && \
iris-plus-pro-installer init && \
deactivate

Follow the on-screen instructions to complete the installation process. You will be prompted to provide necessary information such as Docker credentials, target machine details, and deployment configurations.

Values shown in square brackets [] are default values. Press Enter to accept the default or provide a custom value.

For additional help, execute the installer with the --help flag, e.g.,

iris-plus-pro-installer --help
iris-plus-pro-installer restore --help

System Update

1. Upgrade the Installer.

source ~/.professional_env/bin/activate && \
pip3 install --extra-index-url https://pip.professional.irisity.com/simple iris-plus-pro-installer --upgrade

2. Run the update process.

iris-plus-pro-installer update