Skip to content

Offline installation (experimental)

Use the offline installer when the installation target cannot access the Irisity Docker registry or the internet. The bundle contains the installer image, the product images, and the Python virtual environments required on the Ansible target. It does not contain Ubuntu or Debian operating-system packages, Docker, NVIDIA drivers, or the NVIDIA Container Toolkit.

Before you start, download the installer_r32.tar bundle from Irisity and transfer it to the control machine using your approved offline transfer method. The target hosts must already have the operating system dependencies. If the target is isolated, obtain these packages and their dependencies from an approved internal repository or offline package media before disconnecting it.

Docker credentials are not required

The offline installer loads the bundled images locally. Do not run docker login, and Docker registry credentials are not requested during installation.

Prerequisites

The control machine runs the installer and must be able to connect to each target over SSH. A single machine can be both the control machine and the target.

Install the following operating-system dependencies on every target node. Install Docker on the control machine as well when it is separate from the target, because the installer runs its Ansible environment in Docker.

1. System update

Make sure the operating system is up to date and that the required CLI tools are installed.

sudo apt update && \
sudo apt -y install curl lsb-release && \
sudo apt upgrade -y && \
sudo reboot

2. Add Docker GPG key and repository

sudo mkdir -p /etc/apt/keyrings && \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo tee /etc/apt/keyrings/docker.asc > /dev/null && \
sudo chmod a+r /etc/apt/keyrings/docker.asc && \
printf '%s\n' \
  'Enabled: yes' \
  'Types: deb' \
  'URIs: https://download.docker.com/linux/ubuntu' \
  "Suites: $(lsb_release -cs)" \
  'Components: stable' \
  'Architectures: amd64' \
  'Signed-By: /etc/apt/keyrings/docker.asc' | \
  sudo tee /etc/apt/sources.list.d/docker.sources > /dev/null

3. (Indexer/Standalone nodes only) Add NVIDIA Container Toolkit GPG key and repository

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo tee /etc/apt/keyrings/nvidia-container-toolkit.asc > /dev/null && \
sudo chmod a+r /etc/apt/keyrings/nvidia-container-toolkit.asc && \
printf '%s\n' \
  'Types: deb' \
  'URIs: https://nvidia.github.io/libnvidia-container/stable/deb/amd64' \
  'Suites: /' \
  'Signed-By: /etc/apt/keyrings/nvidia-container-toolkit.asc' | \
  sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.sources > /dev/null

4. Install required dependencies

Choose the package set that matches the node environment.

sudo apt update && \
sudo apt -y install gpg ca-certificates 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

Headless server installation is only supported on Ubuntu 24.04.

sudo apt update && \
sudo apt -y install --no-install-recommends gpg ca-certificates software-properties-common docker-ce docker-ce-cli docker-compose-plugin containerd.io python3-pip python3-venv linux-modules-nvidia-580-server-generic nvidia-compute-utils-580-server libnvidia-compute-580-server nvidia-utils-580-server nvidia-docker2 openssh-server && \
sudo reboot
sudo apt update && \
sudo apt -y install gpg ca-certificates 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 the operating system is up to date and that the required CLI tools are installed.

sudo apt update && \
sudo apt -y install curl lsb-release && \
sudo apt upgrade -y && \
sudo reboot

2. Add Docker GPG key and repository

sudo mkdir -p /etc/apt/keyrings && \
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo tee /etc/apt/keyrings/docker.asc > /dev/null && \
sudo chmod a+r /etc/apt/keyrings/docker.asc && \
printf '%s\n' \
  'Enabled: yes' \
  'Types: deb' \
  'URIs: https://download.docker.com/linux/debian' \
  "Suites: $(lsb_release -cs)" \
  'Components: stable' \
  'Architectures: amd64' \
  'Signed-By: /etc/apt/keyrings/docker.asc' | \
  sudo tee /etc/apt/sources.list.d/docker.sources > /dev/null

3. (Indexer nodes and standalone nodes only) Add NVIDIA Container Toolkit GPG key and repository

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo tee /etc/apt/keyrings/nvidia-container-toolkit.asc > /dev/null && \
sudo chmod a+r /etc/apt/keyrings/nvidia-container-toolkit.asc && \
printf '%s\n' \
  'Types: deb' \
  'URIs: https://nvidia.github.io/libnvidia-container/stable/deb/amd64' \
  'Suites: /' \
  'Signed-By: /etc/apt/keyrings/nvidia-container-toolkit.asc' | \
  sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.sources > /dev/null

4. (Indexer nodes and standalone nodes only) Install NVIDIA CUDA keyring

curl -fsSLo /tmp/cuda-keyring_1.1-1_all.deb https://developer.download.nvidia.com/compute/cuda/repos/debian12/x86_64/cuda-keyring_1.1-1_all.deb && \
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 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 software-properties-common docker-ce docker-ce-cli docker-compose-plugin containerd.io python3-pip python3-venv openssh-server && \
sudo reboot

For indexer and standalone nodes, verify the NVIDIA driver after the reboot:

nvidia-smi

Verify that Docker is running without pulling an image from a registry:

sudo docker info

Ensure that the user running the installer can access Docker without sudo:

sudo usermod -aG docker $USER

Log out and log back in before continuing so that the group change takes effect.

Installation

Have the following information ready:

  • Target machine IP address or hostname.
  • SSH username and password or SSH private key for the installation target.
  • ForensiQ deployment configuration type: standalone, core, or indexer.
  • Local networking information required by your deployment. Consult your network administrator if necessary.

1. Extract the offline installer bundle

The bundle must remain intact after extraction, as the executable uses its accompanying runfiles and local image archive.

mkdir -p ~/irisity-offline-installer && \
tar -xf /path/to/installer_r32.tar -C ~/irisity-offline-installer && \
cd ~/irisity-offline-installer

2. Initialise the installer

./iris_plus_pro_installer_offline init

Follow the prompts to provide the SSH and deployment configuration. Docker credentials are intentionally not requested in offline mode.

3. Run the installer

./iris_plus_pro_installer_offline install

The installer loads its bundled image into Docker and deploys the bundled product images and target Python virtual environments. It does not download images or Python packages during installation.

Values shown in square brackets [] are defaults. Press Enter to accept a default or enter a custom value.

For additional help

./iris_plus_pro_installer_offline --help
./iris_plus_pro_installer_offline 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. See the installation guide for the certificate-type requirements.