Isarsoft Perception is compatible with two distinct platforms, the
server platform refers to workstations and servers with dedicated NVIDIA GPUs, while the
edge platform is compatible with NVIDIA Jetson devices. The initial setup for the two platforms differs slightly.
The deployment is fully containerised and orchestrated via Docker and Docker Compose. The full dependency and compatibility matrix can be found below.
|Operating System||Ubuntu Server 22.04 LTS|
Newer software versions for GPU Driver and Docker may be backwards compatible. Check the respective documentation to learn more.
|Operating System||L4T 35.3.1|
Supported Jetson Devices
- Jetson Orin AGX 64GB
- Jetson Orin AGX 32GB
- Jetson Orin NX 16GB
- Jetson Xavier AGX
The following commands set up all dependencies for Isarsoft Perception.
# OS Updates sudo apt update && sudo apt upgrade # GPU Driver sudo apt install nvidia-headless-535 nvidia-utils-535 libnvidia-decode-535 libnvidia-encode-535 # Docker + GPU runtime curl https://get.docker.com | sh && sudo systemctl --now enable docker distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \ && curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \ && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \ sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \ sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list sudo apt update sudo apt install nvidia-docker2 # Reboot sudo reboot
Add the properties
exec-opts to the docker deamon configuration:
Disabling systemd cgroup management in Docker via the
exec-opts property is the workaround for a known issue with nvidia-container-runtime resulting in loss of GPU access in containers.
Restart the docker deamon to apply new configuration:
To be able to run docker commands without sudo, add the user to the docker group:
Log out and log back in so that your group membership is re-evaluated. Running
groups should contain the docker group.
Changes can be verified by running
There are two options for deploying Isarsoft Perception: via Deploy Token or Release Archive.
The Release Archive is a full copy of the software and is suitable for environments with restricted access to the internet. It contains everything to install and run the software in a single file archive. Updating the software involves copying another full sized archive of the most recent version.
Deployment via Deploy Token will fetch from a container and package registry automatically. This makes deployments more convenient and enables incremental updates, where only the most recent changes between releases are downloaded. It requires internet access or respective firewall exceptions and proxies for the registries.
Many instructions in the documentation of Isarsoft Perception assume the top level project folder to be named
perception. Docker Compose will use this name as the project prefix and e.g. containers and volumes will be named accordingly. It is recommended to use the same naming schema as in the following instructions.
Option 1: Deploy Token (Recommended)
# Create a project directory. mkdir perception && cd perception # Add valid user and token here export USER=<username> export TOKEN=<token> export VERSION=3.11.3 export PLATFORM=server # Fetch orchestration curl --user "$USER:$TOKEN" "https://gitlab.com/api/v4/projects/13396821/packages/generic/perception/$VERSION-$PLATFORM/perception-$VERSION-$PLATFORM.tar.gz" | tar -xzvf - # Fetch images docker login -u $USER -p $TOKEN registry.gitlab.com docker compose pull # Verify images were downloaded docker images
# Create a project directory. mkdir perception && cd perception # Add valid user and token here export USER=<username> export TOKEN=<token> export VERSION=3.11.3 export PLATFORM=edge # Fetch orchestration curl --user "$USER:$TOKEN" "https://gitlab.com/api/v4/projects/13396821/packages/generic/perception/$VERSION-$PLATFORM/perception-$VERSION-$PLATFORM.tar.gz" | tar -xzvf - # Fetch images docker login -u $USER -p $TOKEN registry.gitlab.com docker compose pull # Verify images were downloaded docker images
Option 2: Release Archive
# Create a project directory mkdir perception && cd perception # Move software archive to this location and unpack mv /path/to/perception-3.11.3-server.tar.gz . tar -xzvf perception-3.11.3-server.tar.gz # Import all docker images docker load -i images.tar.gz # Verify images were loaded docker images
Consider changing settings in the
.env file. Launch the software:
Important: The first start will take up to 30 minutes while the device is running hardware specific optimizations. Frontend and API will be available right away, but none of the applications will run.
The frontend dashboard can now be accessed via
https://[HOSTNAME/IP]:8443. Default login information is user
systemadmin with password