Losant Edge Agent Installation

The Losant Edge Agent (“Agent”) is a command line utility exposed through Docker as a container you can run on your Edge Compute device. Below, there are step-by-step instructions for installing Docker and pulling down the Agent container image. While the expectation is that you’ll be running on an IoT style device, the Agent can be run on macOS and Windows as well. See the Edge Compute device documentation for additional information on supported devices and minimum requirements.

Because the Losant Edge Agent runs as a Docker container, the main focus of this document is getting Docker installed on your machine. If you would like more information on getting the Edge Agent configured, running, and connected to the Losant Platform, check out our Edge Agent Usage documentation.

Installing Docker with an Installation Script

Docker provides an installation script for quickly installing Docker on supported Linux distributions. You can learn more about supported operating systems in Docker’s documentation and learn more about the script in the GitHub repository. You can follow along with the video, which installs Docker on a Raspberry Pi, or read the steps below.

Get the Script

In the terminal of your supported OS, enter the following command:

curl -fsSL https://get.docker.com -o get-docker.sh

This curl command saves the contents of https://get.docker.com as the shell script get-docker.sh. Once it is complete (it should only take a few seconds depending on your internet connection) you can list the contents of the directory that you are in with the command ls, and see that there is now a new file called get-docker.sh available.

Run the Script

To run the script, run the following command:

sh get-docker.sh

Once you press Enter, the script will start the process of installing Docker. It may take some time depending on the machine you are on.

Run Docker Commands Without sudo (Optional)

By default, docker commands need to be run as the superuser (with the sudo command). If you would like to use Docker commands without sudo, you will need to add your username to the docker group, which was created when Docker was installed.

For the rest of this document, we assume that this step has been completed and Docker commands will be used without sudo.

sudo usermod -aG docker ${USER}

If you see “Error loading config … permission denied” errors when trying to run containers, you’ll need to update the permissions on your .docker directory with the following commands:

sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
sudo chmod g+rwx "/home/$USER/.docker" -R

After you have added your user to the docker group, it is recommended that you restart your machine. You can do this from the terminal with:

sudo reboot

If you are using SSH to access your machine, a reboot will terminate this connection. Give your machine a few minutes to boot back up before reestablishing the SSH connection.

Verify Docker Installation

To verify that Docker was installed successfully, you can run the following command:

docker run hello-world

This command will pull down the hello-world Docker image (if it is not already downloaded) and run a container with that image. A successful run of this command will output Hello from Docker in your terminal.

Other Docker Installation Methods

For more information on other installation methods, please see Docker’s installation documentation.

Get the Losant Edge Agent

Once you have successfully verified that Docker is installed, you are ready to pull down the Losant Edge Agent, which you can do with the following command:

docker pull losant/edge-agent

When a new version of the Edge Agent is released, a new image will be built and tagged. When pulling the Losant Edge Agent image down from Docker with the command: losant/edge-agent, Docker defaults to pulling down the most recent version. If you would like to pull down a specific version of the image, you can do so by appending a version number to the end of that command:

docker pull losant/edge-agent:1.21.0

You can see the most recent version on the Edge Agent Docker Hub Page and learn more about features in specific versions of the Edge Agent in the Edge Agent Changelog.

For instructions on configuring and running the Edge Agent container, check out our Edge Agent Usage documentation.

Alternative Edge Agent Builds

We do offer alternative builds of the Edge Agent for use on more specific hardware. For example, we do offer an alpine version that is smaller in size but does sacrifice a bit of functionality (the Tensorflow Node does not work). We also support amd64, arm, and arm64 architectures.

A Note on Errors with the Alpine build

When using the Alpine version of the Losant Edge Agent (losant/edge-agent:latest-alpine) you may encounter an error that prevents the Edge Agent from running.

Alpine version 3.13 introduced a breaking change when running Docker on a Raspberry Pi. Alpine 3.13 uses 64-bit timestamps now, but the underlying library, libseccomp2, does not recognize them. The error may look something like this (after trying to run the Edge Agent):

#
# Fatal error in , line 0
# unreachable code
#
#
#
#FailureMessage Object: 0xb3e3a27c

If you do wish to use Alpine version of the Losant Edge Agent on a Raspberry Pi, you can fix this by updating the libseccomp2 package on the Pi with the following commands:

wget https://ftp.debian.org/debian/pool/main/libs/libseccomp/libseccomp2_2.5.1-1_armhf.deb
sudo dpkg -i libseccomp2_2.5.1-1_armhf.deb

You can read more about the update here.

For more information, please refer to our Docker Hub Page and ask any questions you may have in our Forums.