This is an advanced reference guide of alternate install methods for developers and integrators. If you are end-user see Adding a device.
We offer different ways to install the ShellHub Agent. The easiest way is with our automatic one-line installation script, which works with all major Linux distributions but it requires that you have Docker installed and properly set up.
If you want to install ShellHub Agent without Docker, currently we have two other options:
Automatic one-line installation script
Docker installed and properly set up on device is required.
Follow the Docker Install Instructions for your distro/platform.
You should always use the latest docker version. The minimum supported Docker version is
To install ShellHub Agent run the following command:
sh <(curl -Ss http://<SERVER-ADDRESS>/install.sh?tenant_id=<TENANT-ID>)
<SERVER-ADDRESS>: is the ShellHub instance server address
<TENANT-ID>: is the Tenant ID of your account
Optional URL parameters
keepalive_interval: Specifies in seconds the keep alive message interval
preferred_hostname: The preferred hostname to use rather than generated value from ethernet MAC address
Installing from source code
ShellHub Agent requires Go 1.18 to compile, please refer to the official documentation for how to install Go in your system.
First checkout the latest stable version (v0.13.1) of ShellHub as follows:
git clone -b v0.13.1 https://github.com/shellhub-io/shellhub.git shellhub
Next, we need to execute the following command to build ShellHub Agent:
go build -ldflags "-X main.AgentVersion=v0.13.1"
file ./agent to check if executable was built.
Integrate into an existing Yocto Project image
To use ShellHub in a Yocto Project image is necessary to add meta-shellhub layer in your project.
git clone email@example.com:shellhub-io/meta-shellhub.git
Add the settings below in your local.conf file:
CORE_IMAGE_EXTRA_INSTALL += "packagegroup-shellhub-runtime"
SHELLHUB_TENANT_ID = "<your tenant id here>"
CORE_IMAGE_EXTRA_INSTALL: this variable will install the ShellHub agent in your image.
SHELLHUB_TENANT_ID: needs to be filled with your tenant id.
Remember to add the other configurations according to your needs. After this, just generate the desired image.
SHELLHUB_SERVER_ADDRESS: ShellHub instance server addresss (default: https://cloud.shellhub.io)