Skip to main content
Version: 3.4.0

Installation & Launch - Generic

caution

Make sure you have an active internet connection during the installation process. In case internet is not available, follow the instructions here.

Pre-requisites

By default, SENSR operates on either Ubuntu 20.04 LTS or Ubuntu 22.04 LTS. Note: Instructions for running on Red Hat can be found here. The following packages are required.

Master node machine

(The machine can be used as both the Master node and Algo node.)

  • Graphics drivers

    • mesa-utils (>= 8.4.0-1) | for AMD64 architecture without GPU

      sudo apt update && sudo apt install mesa-utils -y && sudo reboot
    • nvidia-driver-525 | for AMD64 architecture with GPU

      sudo apt update && sudo apt install nvidia-driver-535 -y && sudo prime-select nvidia && sudo reboot

      # It is recommended to enter the following command to prevent the 'apt' operation from changing the driver version:

      sudo apt-mark hold nvidia-driver-525 libnvidia-compute-525

Algo node machine

(You can skip this step if running the master and algo nodes on the same machine.)

  • Common

    • openssh-server (>= 1:8.2p1-4ubuntu0.5)
      sudo apt update && sudo apt install openssh-server -y
  • Graphics drivers

    • nvidia-driver-525 | for AMD64 architecture with GPU

      sudo apt update && sudo apt install nvidia-driver-525 -y && sudo reboot

      # It is recommended to enter the following command to prevent the 'apt' operation from changing the driver version:

      sudo apt-mark hold nvidia-driver-525 libnvidia-compute-525

Installation

  1. Download sr-launcher-cli-[VERSION]-[ARCH].deb.

  2. Install the downloaded file with command below.

    sudo apt install ./sr-launcher-cli-[VERSION]-[ARCH].deb
  3. (Optional) Set version to use. Default version is latest.

    sr-launcher-cli set version -v [Version]
    # Versions available can be seen using sr-launcher-cli set version and navigating the list.
  4. Pre-install packages. It will download Kubernetes binary and Docker images of SENSR-I to the machine you are running SR Launcher CLI.

    sr-launcher-cli run pre-install
    # By default all images for both arm64 and amd64 will be downloaded. You can select a specific architecture as follows:
    # sr-launcher-cli run pre-install -a amd64
  5. Create a cluster.json file containing the host information for the machines to use. More details about the cluster can be found here

    • Case 1: Single machine installation, which Master node and Algo node will be in the same machine

      {
      "nodes": [
      {
      "ip": "ip-of-the-machine",
      "user_name": "user-name-of-the-machine",
      "password": "password-of-the-machine",
      "is_master": true,
      "supported_worker_apps": ["algo"],
      "name": "master"
      }
      ]
      }
    • Case 2: Machine A for Master node and Algo node, and Machine B only for Algo node

      {
      "nodes": [
      {
      "ip": "node1_computer_ip_address",
      "user_name": "node1_computer_user_name",
      "password": "node1_computer_password",
      "is_master": true,
      "supported_worker_apps": ["algo"],
      "name": "master"
      },
      {
      "ip": "node2_computer_ip_address",
      "user_name": "node2_computer_user_name",
      "password": "node2_computer_password",
      "is_master": false,
      "supported_worker_apps": ["algo"],
      "name": "algo_1"
      },
      ...
      ]
      }
    • The file is built on a per host basis, not per algo node basis. In case you are trying to add multiple algo nodes to a single host, there is not need to duplicate the entry in the cluster.json file.

    • If you want to use the machine for Edge node, you can add "edge" to "supported_worker_apps".

  6. Run installation with cluster.json file.

    sr-launcher-cli run install -f cluster.json --force

    This will install Docker and Nvidia-docker(if GPU is connected) on the machines, and load Docker images on each host.

  7. Create cluster using thecluster.json file.

    sr-launcher-cli create cluster -f cluster.json <cluster_name> -o`
    • <cluster_name> will be used to identify the cluster. It can be anything, but is recommended to use site_name for easy identification, or use names such as c1 or c2 for easy use.

Launch SENSR

SENSR

SENSR is launched from the command line, there are two modes available: The GUI mode that will open the user interface and the non-GUI or headless mode that will run SENSR without user interface.

The GUI mode should be used to set SENSR up and visualize the data while the Headless mode should be used in production for running SENSR over a long period of time.

  • Enter the following command to run SENSR in GUI mode

    sr-launcher-cli run sensr
  • To run SENSR in headless mode or through a ssh session, enter the following command:

    sr-launcher-cli run sensr -n

Web Frontend

Once SENSR is running in either mode, you can also run Web FE server to access SENSR through a web browser. The Web Frontend is recommended for controlling SENSR from a distant computer.

sr-launcher-cli run web-fe-server

For more detailed information, please refer to the web frontend dedicated page

Stop SENSR

To stop SENSR, enter the following command:

sr-launcher-cli stop sensr

Update

caution

To update SENSR to a newer version, please update the SR Launcher.

If you simply want to deploy a previous version, the latest SR Launcher can be used.

  1. Stop SENSR
    sr-launcher-cli stop sensr
  2. Remove the current SR Launcher from the host
    sudo apt purge sr-launcher-cli 
  3. Go through the Installation process described here.

Please note that the new version's docker images will be added to the machine. This can take some significant amount of space. To free some space by removing the older version, please follow the uninstallation instructions

Uninstallation

When updating SENSR, new docker images are loaded onto the machine, over time, unused docker images can accumulate and consume disk space on the host. The SR launcher allows removing specific images of SENSR. Users can use the following commands to remove versions using the SR Launcher.

  1. List the versions installed in the host: docker images
  2. Remove the images using one of the commands:
sr-launcher-cli uninstall version -v 3.3.0
#or (for multiple specific version)
sr-launcher-cli uninstall version -v "3.3.0, 3.3.1"

To remove all versions of SENSR loaded onto the host at once, use the following command:

sr-launcher-cli uninstall version --all

NOTE: The SR Launcher downloads and retains new Docker images without discarding the previous ones to facilitate potential downgrades. If you're running low on storage space, you can remove unused images from /opt/seoulrobotics/sr-launcher/resources/docker.

NOTE 2: Images can also be dismounted separatey using the command docker rmi <IMAGE_ID>

Logo
If you need access, please contact