Gateway Edge Agent Installation
Losant’s Gateway Edge Agent (GEA) 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 GEA container image. While the expectation is that you’ll be running on an IoT style device, the GEA 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 Gateway 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 GEA configured, running, and connected to the Losant Platform, check out our Gateway 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 Gateway Edge Agent
Once you have successfully verified that Docker is installed, you are ready to pull down the Gateway Edge Agent, which you can do with the following command:
docker pull losant/edge-agent
When a new version of the GEA is released, a new image will be built and tagged. When pulling the image down from Docker with the command docker pull 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 GEA’s Docker Hub Page and learn more about features in specific versions of the Gateway Edge Agent in the GEA Changelog.
For instructions on configuring and running the GEA container, check out our Gateway Edge Agent Usage documentation.
Alternative GEA Builds
We do offer alternative builds of the Gateway Edge Agent for use on more specific hardware. For example, we offer an alpine
version that is smaller in size but does sacrifice a bit of functionality (for example, 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 Gateway Edge Agent (losant/edge-agent:latest-alpine) you may encounter an error that prevents the GEA 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 GEA):
#
# Fatal error in , line 0
# unreachable code
#
#
#
#FailureMessage Object: 0xb3e3a27c
If you do wish to use Alpine version of the Gateway 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.4-1+b1_armhf.deb
sudo dpkg -i libseccomp2_2.5.4-1+b1_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.
Was this page helpful?
Still looking for help? You can also search the Losant Forums or submit your question there.