Installation

Cordatus contains two main usage plains:

  • Cordatus Web UI
  • Cordatus Client App.

Create an Account

To register and start to use the platform, go to Cordatus Web Interface from your favorite web browser and navigate to Profile section placed on the top right corner from the home page.

Register

Cordatus Installation

NVIDIA Jetson Installation

Install Dependencies for Jetson

First, you need to install required base packages for Cordatus.

sudo apt update && \
sudo apt install -y \
   libgtk-3-0 \
   libnotify4 \
   libnss3 \
   libxss1 \
   libxtst6 \
   xdg-utils \
   libatspi2.0-0 \
   kde-cli-tools \
   kde-runtime \
   trash-cli \
   libglib2.0-bin \
   gvfs-bin \
   xvfb \
   libsqlcipher-dev

Manage Docker as a non-root user

The Docker daemon binds to a Unix socket instead of a TCP port. By default that Unix socket is owned by the user root and other users can only access it using sudo. The Docker daemon always runs as the root user.

If you don’t want to preface the docker command with sudo, create a Unix group called docker and add users to it. When the Docker daemon starts, it creates a Unix socket accessible by members of the docker group.

Warning

The docker group grants privileges equivalent to the root user. For details on how this impacts security in your system, see Docker Daemon Attack Surface.

Note

To run Docker without root privileges, see Run the Docker daemon as a non-root user (Rootless mode). Rootless mode is currently available as an experimental feature.

To create the docker group and add your user:

  1. Create the docker group.

$ sudo groupadd docker

  1. Add your user to the docker group.

$ sudo usermod -aG docker $USER

  1. Log out and log back in so that your group membership is re-evaluated.

  2. Verify that you can run docker commands without sudo.

$ docker run hello-world

Download and Install Cordatus for NVIDIA Jetson

First, download the Cordatus deb package by running the below command from your NVIDIA Jetson's terminal.

NVIDIA JetPack Version

You need to replace your_jp_version with your NVIDIA Jetson's current JetPack version. For example, if you have flashed your Jetson with JetPack 4.4, the command should be:

wget https://cordatus.ai/download/jetson/44 -O cordatus_jetson_44.deb

wget https://cordatus.ai/download/jetson/<your_jp_version> -O cordatus_jetson_<your_jp_version>.deb

Run Cordatus from NVIDIA Jetson GUI

To run Cordatus from Ubuntu GUI, write Cordatus on the search bar and click on the Cordatus icon.

run-from-gui

Run Cordatus from NVIDIA Jetson Terminal

My Device Doesn't Have any Display Output

If you are working on a server or your device does not have any display output for a GUI -such as custom carrier boards for NVIDIA Jetson devices-, you can still use Cordatus with it's full functionality from the Cordatus Web Interface. In order to achieve it please follow Adding Your Servers and NVIDIA Jetsons to Cordatus without GUI section of this documentation before running the below command.

To run Cordatus from Ubuntu Terminal, run the following command from your NVIDIA Jetson's terminal.

$ cordatus --server --token=<your_token>

PC/Workstation/Server Installation

Requirements

Install Dependencies for PC/Workstation/Server

First, you need to install required base packages for Cordatus.

sudo apt update && \
sudo apt install -y \
   libgtk-3-0 \
   libnotify4 \
   libnss3 \
   libxss1 \
   libxtst6 \
   xdg-utils \
   libatspi2.0-0 \
   kde-cli-tools \
   kde-runtime \
   trash-cli \
   libglib2.0-bin \
   gvfs-bin \
   xvfb \
   libsqlcipher-dev

Install NVIDIA CUDA Driver

For Datacenter GPUs (Tesla)

You can follow this NVIDIA's official installation documentation to install NVIDIA CUDA® Driver on your GPU-enabled datacenter servers.

For PC/Workstation GPUs (TITAN V/RTX & GeForce GTX/RTX)

You can follow this NVIDIA's official driver installation page to install NVIDIA CUDA® Driver on your GPU-enabled PCs/Workstations.

Install Docker

Update the apt package index and install packages to allow apt to use a repository over HTTPS:

$ sudo apt-get update

$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

$ sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io

Verify that Docker Engine is installed correctly by running the hello-world image.

$ sudo docker run hello-world

This command downloads a test image and runs it in a container. When the container runs, it prints an informational message and exits.

Docker Engine is installed and running. The docker group is created but no users are added to it. You need to use sudo to run Docker commands.

Manage Docker as a non-root user

The Docker daemon binds to a Unix socket instead of a TCP port. By default that Unix socket is owned by the user root and other users can only access it using sudo. The Docker daemon always runs as the root user.

If you don’t want to preface the docker command with sudo, create a Unix group called docker and add users to it. When the Docker daemon starts, it creates a Unix socket accessible by members of the docker group.

Warning

The docker group grants privileges equivalent to the root user. For details on how this impacts security in your system, see Docker Daemon Attack Surface.

Note

To run Docker without root privileges, see Run the Docker daemon as a non-root user (Rootless mode). Rootless mode is currently available as an experimental feature.

To create the docker group and add your user:

  1. Create the docker group.

$ sudo groupadd docker

  1. Add your user to the docker group.

$ sudo usermod -aG docker $USER

  1. Log out and log back in so that your group membership is re-evaluated.

  2. Verify that you can run docker commands without sudo.

$ docker run hello-world

Install nvidia-docker2

You can easily install nvidia-docker2 by running below commands from terminal:

$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
$ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
$ curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
$ sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
$ sudo systemctl restart docker

Download and Install Cordatus for PC/Workstation/Server

Cloud Platform Support

You can use this instructions in order to install Cordatus to Cloud Platforms such as;

  • Microsoft Azure
  • Amazon Web Services (AWS)
  • Google Cloud Platform (GCP)
  • Alibaba Cloud

To install Cordatus with .deb package, use the commands below:

$ wget https://cordatus.ai/download/ubuntu -O cordatus_latest_x64.deb
$ sudo dpkg -i cordatus_latest_x64.deb

Warning

Cordatus AI Platform requires NVIDIA CUDA® Driver >= 418.67 on PCs/Workstations/Servers. Lower driver versions may cause unexpected behaviours.

Run Cordatus from PC/Workstation GUI

To run Cordatus from Ubuntu GUI, write Cordatus on the search bar and click on the Cordatus icon.

run-from-gui

Run Cordatus from PC/Workstation/Server Terminal

My Device Doesn't Have any Display Output

If you are working on a server or your device does not have any display output for a GUI -such as custom carrier boards for NVIDIA Jetson devices-, you can still use Cordatus with it's full functionality from the Cordatus Web Interface. In order to achieve it please follow Adding Your Servers and NVIDIA Jetsons to Cordatus without GUI section of this documentation before running the below command.

To run Cordatus from Ubuntu Terminal, run the following command from your PC/Workstation/Server's terminal.

$ cordatus --server --token=<your_token>

Adding Your Servers and NVIDIA Jetsons without GUI to Cordatus

Hint

This section describes how to register your devices that doesn't have any GUI output. This scenario includes servers and NVIDIA Jetson devices with no HDMI output from their carrier boards.

Once you install latest version of Cordatus to your remote server, you need to create a token for authorization. In order to achive this;

  • Navigate to Device tab and click + New Device button from top right.

Server Register

  • Give your new remote server a name and click Add button. You will see your newly added device on the Devices list.

Server Register

  • To activate your license from this screen, click on Server License button and select which license you want to use on this server. Once you decide, click Choose License button.

Server License

  • As the final step, in order to fully utilize your remote server from Cordatus Web Interface, you need to authorize and activate the device by generating a new token for the server by clicking Generate Token button.

Server Token

Save Your Token

For the security reasons please copy and save your token in a safe place.

  • Once you got the token enter it on your server using below command:
$ cordatus --server --token=<your_token>