VergeLink Container Deployment
This guide describes how to deploy VergeLink as a Docker Container on any hardware.
- You have received your verglink.io login
- You have received your credentials for the VergeLink Docker registry
If you are missing one of the above things, feel free to contact us at email@example.com.
How to deploy the VergeLink Runtime
Click the "+ DEVICE" button on the "VergeLink Devices" page to add a new device. After that, a dialog will pop-up where you will see the deployment options.
The VergeLink runtime can either be deployed as a container, or as part of the VergeLink OS. Select your deployment method.
Follow the instructions in the dialog to deploy the VergeLink Edge runtime container on your edge gateway or device.
A few seconds after you executed the docker run command, the VergeLink device will appear on the Devices pages of the UI. You can now follow the Quick Start guide to configure your device for data transmission. Refer to the container logging output for any errors that might prevent your device from being created.
- When choosing a hardware device to use for the VergeLink Runtime container, we recommend using a device with at least 1GB of RAM and 2x1GHz CPU. (Minium requirements are: 256MB RAM and 1x700Mhz CPU)
- We also recommend using a device that supports OTA updates for the operating system and the containers incl. their configuration from a central place. For example: Azure IoT Edge "Certified Devices" or devices with "Portainer" installed and a custom OTA update mechanism for the OS.
The following environment variables can be used to configure the VergeLink runtime container.
DEVICE_CONFIG- Must contain a valid device configuration JSON (minified), which is used to initialiy register the device with the VergeLink Portal.
"tenant_token": "eyJhbGciOiJS ... ZEpD6WUlY",
This token is the same for all devices that belong to your tenant, see the "How to deploy the VergeLink Runtime" section above on how to copy it from the UI, as it is part of the copied startup command, customized for your tenant.
GLOBAL_AGENT_HTTP_PROXY- Set the endpoint of an HTTP proxy that should be used by the runtime for all requests - Example value: 'http://192.168.100.147:3128'
This only works for HTTP communication, so if you are using MQTT for device to cloud communication you need to use the websockets protocol to utilize the HTTP proxy.
DEVICE_ID- Can be used to set a custom ID for the device used in the VergeLink Portal and for templates. If not set, the device ID will be randomly generated. Must be a unique value
REGISTER_RETRY_TIMEOUT- Tune the timeout the runtime uses when retrying the registration process. (In ms) - (Default: Random between 40000 and 60000)
OPERATIONS_POLL_INTERVAL- Tune the interval the runtime uses to fetch operations from the VergeLink Portal (In ms) - (Default: 10000)
CONFIGURATION_POLL_INTERVAL- Tune the interval the runtime uses to fetch the device configuration from the VergeLink Portal (In ms) - (Default: 10000)
DATA_SOURCE_RECONNECT_TIMEOUT- Tune the timeout the runtime uses to attempt a reconnect if the connection to a data source fails (In ms) - (Default: 10000)
VERGELINK_LOG_LEVEL- Set the log level of the VergeLink Runtime - (Default: 'info')
INTERFACE- Set to the network interface name you want to VergeLink to scan for devices on. If not set, VergeLink autodetects all available interfaces - Example value: 'eth0'
For container deployments in production, feel free to contact us at firstname.lastname@example.org.