Docker Installation

Overview

A newly, ready-made Docker bundle is available with RTLS Studio 2.4 via the Sewio portal

Docker provides the following benefits:

  • It is easy to deploy - OS agnostic platform
  • Reasonable computational performance comparing to native RTLS Studio deployment

RTLS Studio docker bundle consisting of five images:

Installation

There are two ways to run the Docker container depending on Windows version. 

Firstly please check the version in Windows settings → System → About.

Ubuntu

This guide is for the Ubuntu-based systems. Installation was tested on Ubuntu 18.04.

Install Docker

  1. Open Linux terminal
  2. Install required packages using the following commands:

    sudo apt update
    sudo apt install gnupg2 pass docker.io docker-compose
  3. Start Docker service and set to automatically start after system boot.

    sudo systemctl enable docker.service 
    sudo systemctl start docker.service

Optional: Add user into group Docker

By processing this part you will add users into group Docker to be able to use Docker without root permissions (sudo) for that specific user.

  1. Open Linux terminal
  2. Run following commands:

    sudo usermod -aG docker $USER
  3. Close terminal (CTRL + D)

Windows 10 (2004 and above)

This tutorial runs on all editions of 64 bit Windows 10

Install Docker for Windows

  1. Download installer from: https://hub.docker.com/editions/community/docker-ce-desktop-windows/
  2. Run installer
  3. Check "Enable WSL 2 Windows Feature"
  4. Install Docker and reboot PC
  5. If you see an alert like in the picture below, then follow the optional step Install WSL 2 kernel.

Optional: Install WSL 2 kernel

  1. Download kernel from: https://aka.ms/wsl2kernel
  2. Install downloaded file
  3. Reboot PC

Check if WSL 2 is set in Docker

  1. Run Docker Desktop app
  2. Open Docker Settings
  3. See if "Use the WSL 2 based engine" is checked


Windows 10 (1909 and below)

Docker for this version of Windows uses Hyper-V functionality which is available only for Pro, Education, and Enterprise edition. This means that Docker won't run on the Home Windows 10 edition.

By following this guide and installing Docker on this version of Windows you will enable the Hyper-V feature which causes that VirtualBox won't be able to run. If you want to run Docker and VirtualBox at the same time, consider updating Windows 10 to version 2004 and use the second option for installing Docker.

Install Docker for Windows

  1. Download installer from: https://hub.docker.com/editions/community/docker-ce-desktop-windows/
  2. Run installer
  3. Check "Enable Hyper-V functionality"
  4. Install Docker and reboot PC

Turn on file sharing in Docker

  1. Run Docker Desktop app
  2. Open Docker setting
  3. Go to the Resources → File Sharing
  4. Add root directory of drive where you will store a file of RTLS Studio. In case you have files on drive C you need to share this drive.
  5. Apply and restart.

Running RTLS Studio in Docker

This part is focused on Windows users. For Linux users, it is very similar with a difference of using terminal instead of Windows command line and File Explorer.

  1. Download Docker release of RTLS Studio and token from Portal.
  2. Unzip downloaded archive.
  3. Move-in File Explorer to unpacked folder - directory standalone_docker.
  4. Open a command line by typing cmd in the address line.

  5. Prepare RTLS Studio images by the following command:

    # Windows command
    powershell -noprofile -executionpolicy bypass -file .\standalone_install.ps1
    
    # Linux command
    sudo sh standalone_install.sh 
  6. Start RTLS Studio by the following command:

    docker compose up -d
  7. Open RTLS Studio on localhost address http://127.0.0.1.

This part is focused on Windows users. For Linux users, it is very similar with a difference of using terminal instead of Windows command line and File Explorer.

  1. Download Docker release of RTLS Studio and token from Portal.
  2. Unzip downloaded archive.
  3. Move-in File Explorer to unpacked folder - directory standalone_docker.
  4. Open a command line by typing cmd in the address line.

  5. Prepare RTLS Studio images by the following command:

    # Windows command
    powershell -noprofile -executionpolicy bypass -file .\standalone_install.ps1
    
    # Linux command
    sudo sh standalone_install.sh 
  6. Start RTLS Studio by the following command:

    docker-compose -f docker-compose.core.yml up -d
  7. Open RTLS Studio on localhost address http://127.0.0.1.

This part is focused on Windows users. For Linux users, it is very similar with a difference of using terminal instead of Windows command line and File Explorer.

  1. Download Docker release of RTLS Studio and token from Portal.
  2. Unzip downloaded archive.
  3. Move-in File Explorer to unpacked folder - directory docker.
  4. Open a command line by typing cmd in the address line.

  5. Type in commands (login token is available on Sewio portal within RTLS Studio download page):

    # Use login tokens from portal.
    docker login -u <YOUR_TOKEN> -p <YOUR_PASSWORD> registry.gitlab.com/sewio/studio/rtls-studio
    
    # Command for downloading required images
    docker-compose -f docker-compose.core.yml pull
    
    # Command for starting RTLS Studio  
    docker-compose -f docker-compose.core.yml up -d
  6. Open RTLS Studio on localhost address http://127.0.0.1.

Stopping RTLS Studio

To stop RTLS Studio in Docker run in the command line from docker directory:

docker compose down
docker compose down -v # To clean RTLS Studio database
docker-compose -f docker-compose.core.yml down

docker-compose -f docker-compose.core.yml down -v # To clean RTLS Studio database

Known limitations

UDP sync

One of the advantages of Docker containers is that they have their own network separated from the others. Unfortunately, this feature causes the UDP broadcast cannot reach the anchors so UDP synchronization cannot work, and therefore, it is necessary to use TCP or UDP-AD TDMA synchronization.

Backup and restore through GUI

The restore process is disabled in RTLS Studio for Docker because it requires access to the filesystem of other containers which is not possible in a docker. 

Backup restore can be performed from the host machine manually. 

Manager's verification of correct network configuration

RTLS Studio Manager cannot verify if the anchor has configured the correct RTLS Studio IP address. This limitation is due to fact that dockerized RTLS Studio cannot access the network configuration of the host machine. The manager shows always the correct network configuration in the status bar.

From RTLS Studio version 2.5.0, network verification checks which cannot be verified are removed from the status bar.

Firmware upgrade for bootloader v0.3

Anchors with bootloader version 0.3 or below cannot be upgraded by RTLS Studio in Docker. Firmware upgrade of anchors with these versions of bootloader uses UDP broadcast, which is blocked in docker deployment so it cannot leave the private network of Docker container.

DHCP Server

In the same way as UDP sync limitation and bootloader limitation, DHCP servers within RTLS Studio do not work due to the impossibility of UDP Broadcast within Docker.

Windows specific limitations

Running Docker as a service without user login 

Docker Desktop for Windows can be simply configured to start after user login. However, on a server, there might be a need to start it after the system boots up. It was possible with Docker EE for Windows Server, but this branch is discontinued for several years. 

Workaround for this feature is to create a task in a Task Scheduler which will be deployed whenever the system boots up. However, the Docker Desktop application will be run under System user and won’t be available for any other user.

Host network mode is not supported

Because of Linux kernel virtualization and Docker containers in it, there is no option for the host network mode. Running RTLS Studio with a docker host network allows the container to access to host network directly which mitigates some functional limitations but on the other hand it reduces security level of the container isolation.

Firewall 

Most of the issues with running RTLS Studio on Docker for Windows are caused by a firewall. If you can run Studio but have problems with accessing it from the outside (e.g. anchors are not shown in Studio), try to turn off the firewall in your PC.

On this page: