Skip to content

Installation

IRIS+ Professional is installed via the Ansible deployment tool - it provides an automated way to install, update, and otherwise manage IRIS+ Professional - This guide provides step-by-step instructions.

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.

Looking for the legacy installation guide?

If you are looking for the installation guide for IRIS+ Professional, please refer to the guide here.


Prerequisites

Before proceeding with the installation, ensure your system has the required packages and dependencies in place.

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

1. System update

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

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/Standalone 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

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
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.

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/Standalone 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/Standalone only) Install NVIDIA CUDA keyring

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

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
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 installation target.

  • Your IRIS+ Professional 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.

sudo usermod -aG docker $USER

2. Log out and log back in for the group changes to take effect.

3. Set up and initialise Python virtual environment.

python3 -m venv ~/.professional_env
source ~/.professional_env/bin/activate

4. Update and initialize the installer.

pip3 install --extra-index-url https://pip.professional.irisity.com/simple iris-plus-pro-installer && \
iris-plus-pro-installer init && \
deactivate

5. Run the installer.

iris-plus-pro-installer install

Follow the on-screen instructions to complete the installation process. You will be prompted to provide necessary information such as Docker credentials 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

HTTPS settings

You can enable HTTPS connectivity during installation. If you need HTTPS connectivity, choose the appropriate value when prompted for the Certificate type variable.

  • In the case of 'official_ca', our reverse proxy will attempt to generate a Let's Encrypt signed certificate.

  • It is required to fill in the domain variable as well.

  • An automatic renew process is included.

  • The domain's A record must be a public IPv4 address that points to your target node.

  • The domain must be publicly accessible due to HTTP-01 validation for certificate generation and automatic renewal process.

  • In the case of 'self_signed', our reverse proxy will attempt to generate a self signed certificate.

  • It is required to fill in the domain variable as well.

  • An automatic renew process is included.

  • You can provide your own certificate and private key pair. Provide the following information when prompted:

    • certificate.crt which represents the certificate.

    • certificate.key which represents the private key.

Adding Indexers

TLS encryption

Adding Indexers with TLS encryption requires installation of the core node with TLS support. In that case, follow the steps in the Add Indexers with encryption tab below.

  1. Go to Settings Indexers.

Indexers

Note the port number for the Video storage service, above, changed from earlier versions to 7177.

All Indexers added to IRIS+ Professional are listed here, along with their properties. You can also add new Indexers and delete existing ones.

  1. To add a new Indexer, fill in the form on the right side of the screen, then click Test to check the connection to the Indexer. If the connection is successful, click Submit to add the Indexer to IRIS+ Professional.
  1. Go to Settings Indexers.

Indexers

Note the port number for the Video storage service, above, changed from earlier versions to 7177.

Fill in the Register new host fields, then download the storage and indexer certificate files. Click Test to check the connection to the Indexer. If the connection is successful, click Submit.

  1. Log in to the remote indexer node via SSH.

  2. Navigate to the /opt/u-query/ directory open the .env file in a text editor.

  3. Set the INDEXER_NODE_TLS_ENABLED variable to true.

  4. Copy the downloaded json file:

    *-indexer-cert.json to /opt/u-query/config/certs/indexer-cert.json

    *-storage-cert.json to /opt/u-query/config/certs/storage-cert.json

  5. (Re)start the services:

sudo COMPOSE_FILE=$(ls compose*.yaml | sort -r | paste -sd:) docker compose up -d

System Update

Updating an installation earlier than version r27

To update an existing installation of IRIS+ Professional, follow these steps:

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

sudo usermod -aG docker $USER

2. Log out and log back in for the group changes to take effect.

3. Activate the virtual environment.

source ~/.professional_env/bin/activate

3. Use grep to display your existing configuration: The output will tell you the location and content of your current vars.yaml file, which you will need to reference later.

grep -H "" ./*/vars.yaml

4. Initialise the installer.

iris-plus-pro-installer init

5. Follow the on-screen instructions to update your installation. Fill in the required information as prompted, using your previous configuration, displayed above, as reference.

1. Update the Installer.

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

(Optional) Initialize the installer

If you have not used the installer before, you will need to initialize it before proceeding with the backup and restore process. This step is only required once.

python3 -m venv ~/.professional_env && \
iris-plus-pro-installer init && \
deactivate

2. Update IRIS+ Professional.

iris-plus-pro-installer update