Installing the Formant agent using Docker

This document describes how to perform a docker installation of the Formant agent onto a target device.



Internet connectivity

The target device must have connectivity to and

You can run the following script on your device terminal to output the robot's details and verify prerequisites:

bash <(wget -qO -


Terminal Access

To install the Formant agent on the target device, you must have terminal access to the device and the ability to run commands.

Notes on Docker installations


No automatic OTA updates

Docker installations of the Formant agent do not support OTA agent updates. Instead, all updates are done by updating the formant-agent docker image on robots.

Docker installation of the Formant agent

Step 1: Add device

Open the Formant sidebar using the top-left button. Select "Settings" โ‡’ "Devices" โ‡’ "Add device".


How to navigate to the "Add device" workflow

Step 2: Enter basic configuration for the device

A device is identified by a name. The name can be changed anytime but must be alphanumeric with characters a-z, A-Z, 0-9, dash (-), underscore (_), and dot (.).

Advanced details
  • Enable/disable SSH - SSH is enabled by default, which means that you can use our terminal UI to SSH into the device. If this is a feature you do not want, you can disable it at the agent level by disabling SSH on this menu.
  • Add tags to the device - Tags are metadata that index telemetry data ingested from the device. They are also be used for grouping devices.
  • Apply configuration templates already available within the org - If you have other similar devices in this org, you can make configuration a lot easier by creating configuration templates from those devices and apply that template to this device.
  • Auto-configure this device - If you choose auto-configure, Formant will choose a set of streams and configure/ display a certain way.

Step 3: Install the Formant agent


ROS users must set environment variables prior to installation

To install a ROS-compatible Formant agent, make sure to export the ROS_MASTER_URI environment variable prior to running the other terminal commands in this section (Step 3). For example, if your ROS master is at its default URI:

export ROS_MASTER_URI=http://localhost:11311

Setting this environment variable before installation is required for ROS-compatibility.

You can also export CATKIN_WS so the agent is able to ingest custom messages. For instance,

export CATKIN_WS=/home/ubuntu/catkin_ws

Configuring your catkin workspace path will allow Formant to ingest data using custom ROS message types.

If you do not use ROS, you do not have to export these environment variables.

Copy the installation command from the web application and paste it in the target device's terminal, but do not run it yet. Note the installation command contains of a provisioning token that is unique to the device and expires after 72 hours.

Change the script from to The modified command will now look like this:


You can add optional arguments to the docker run command by using the --args flag at the end of the modified command. An example may be to set a custom dns server for the container, which is done using the --dns flag. This would look as follows:
bash <(wget -qO - <YOUR PROVISIONING TOKEN> --args "-dns="


Modify the command you see here by changing the script from to

Run the modified command to begin device installation.

Step 4: Verify successful installation

If the Formant agent has been installed and connection established, Formant will begin ingesting telemetry for default streams like CPU, Network, Memory, and Disk. Verify that these streams have live telemetry data in the device's telemetry page.

To navigate to a device's telemetry page, open the Formant sidebar using the top-left button, and click on the name of your device under the "Observe" tab.


Telemetry being uploaded to a default stream