Skip to content

Install Guide

Tip

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

It is recommended to visit the hardware and software prerequisites to learn more about deployment options and hardware requirements.

Prerequisites

The system can be installed on any OS that supports docker, however the recommended OS is Ubuntu 22.04. The steps described below assume an Ubuntu 22.04 installation.

Info

The installation will require you to have sudo rights.

1. System update

Make sure your system is up-to-date.

sudo apt update && \
sudo apt upgrade -y && \
sudo reboot

Info

The upgrade process may prompt you to optionally restart some daemons: the choice is unimportant, as the system is going to be restarted regardless.

Daemon restart needed

2. Install docker

Info

At the moment, U-Query software components are only available from a private dockerhub repository. Contact Ultinous to get access.

Both indexer nodes and query nodes require docker. If your system does not have it installed, follow these steps before continuing.

3. Install NVIDIA software (indexer node only)

If your system does not have NVIDIA docker runtime installed, follow these steps before continuing.

Installation steps

1. Download deployment scripts

Download and extract the configuration scripts to the u-query folder.

wget https://u-query.ultinous.com/docs/r3/u_query_install.tar -P /tmp && \
sudo tar -xvf /tmp/u_query_install.tar -C / && \
sudo chgrp -R $(id -g) /opt/u-query

2. Set database password

Create a unique password for the database, and set it in docker-compose's .env file. Examples below;

sed -i "s/\(DB_POSTGRES_PASSWORD=\)/\1$(< /dev/urandom tr -dc 'A-Za-z0-9' | head -c 27)/g" /opt/u-query/.env
sudo apt install -y pwgen && sed -i "s/\(DB_POSTGRES_PASSWORD=\)/\1$(pwgen -s 27 1)/g" /opt/u-query/.env

3. Set secret for application token encryption

Create a secret for the application token encryption, and set it in docker-compose's .env file. Examples below;

sed -i "s/\(NEXTAUTH_SECRET=\)/\1$(< /dev/urandom tr -dc 'A-Za-z0-9' | head -c 27)/g" /opt/u-query/.env
sudo apt install -y pwgen &&  sed -i "s/\(NEXTAUTH_SECRET=\)/\1$(pwgen -s 27 1)/g" /opt/u-query/.env

4. Login to docker

Info

Contact Ultinous to get access.

Login to dockerhub to be able to download software components.

docker login -u <your_ultinous_provided_username>

5. Model optimization (indexer node only)

If the installed node is an indexer node (or standalone installation), model optimization needs to be performed; This process optimizes deep learning models for the GPU.

Warning

Model optimization can take up to 20 minutes.

Execute the following commands to start model optimization:

cd /opt/u-query && \
docker compose -f build_trt.yaml pull && \
docker compose -f build_trt.yaml up

6. Download software components

docker compose pull && \
docker logout

7. Start U-Query services

docker compose up -d

Tip

Make sure HTTP traffic is enabled through your firewall on the query node. On Ubuntu you can do it by issuing the following command:

sudo ufw allow 80/tcp