Docker Containers
Universal Agent is available as a Docker image, allowing you to run an Agent in a Docker container. The Docker image is available for Red Hat Intel and Debian Intel systems.
- The Red Hat Docker image for Universal Agent is based on the Red Hat Universal Base Image 9.
- The Debian Docker image for Universal Agent is based on the Debian Bookworm Base Image.
For more information on getting started with OpenShift, see the OpenShift Start-Up Guide.
Image Labels
Universal Agent images have various labels set with helpful metadata. We follow Docker best practices and use the suggested OCI labels for our images. The following labels are included:
OCI Label | Description | Example Value |
|---|---|---|
org.opencontainers.image.authors | The contact details of the organization that created the image. | |
org.opencontainers.image.base.digest | The digest of the base image the Agent image was created with. |
|
The name of the base image the Agent image was created with. | Redhat: docker.io/redhat/ubi9:latest | |
org.opencontainers.image.created | An ISO8601 timestamp of when the image was created. |
|
org.opencontainers.image.description | A description of the Agent image and what it is used for. | Universal Agent can be used for Scheduling and File Transfer |
The name of the component in the image. | universal-agent | |
org.opencontainers.image.title | The title for the image. | Redhat: Universal Agent installed in a Red Hat base Image Debian: Universal Agent installed in a Debian base Image |
org.opencontainers.image.vendor | The organization distributing the image. | Stonebranch, Inc. |
org.opencontainers.image.version | The version of the Agent inside the image. | Releases: 8.0.0.0 |
Universal Agent images also come with the following Red Hat Catalog labels:
Label | Example Value |
|---|---|
name | universal-agent |
maintainer | |
vendor | Stonebranch, Inc. |
version | 8.0.0.0 |
release | 96 |
summary | Universal Agent installed in a Red Hat base Image |
description | Universal Agent can be used for Scheduling and File Transfer |
Downloading a Universal Agent Docker Image
There are several ways to download a Universal Agent Docker image:
- Both the Red Hat and Debian Docker images can be pulled from docker hub. See the instructions below.
- Both the Red Hat and Debian Docker images can be downloaded from the Customer Portal.
- The Red Hat Docker image can be downloaded from the Red Hat Catalog.
Downloading from Docker Hub
To download the latest Red Hat image from the Docker Hub, run the following command:
docker pull stonebranch/universal-agent:latest
To download the latest Debian image, use the same command, but replace the latest tag with debian-latest:
docker pull stonebranch/universal-agent:debian-latest
The latest tags will pull the latest version of the Agent, but you can pull any previous version by specifying the version as the tag, such as universal-agent:7.4.1.15 or universal-agent:7.4.1.15-debian. See stonebranch/universal-agent - Docker Image | Docker Hub for a list of supported tags.
To list the downloaded images from the Stonebranch repository, run the following command:
docker images -a stonebranch/universal-agent
Docker Environment Variables
When you create a Universal Agent container, you can configure the Universal Agent by specifying environment variables corresponding to Universal Agent configuration options. Any configuration option that supports being set as an environment variable can be used in the container. Refer to the Configuration Options documentation to see if a given option can be set with an environment variable.
Some Universal Automation Center Agent Configuration Options cannot be set with environment variables in UAG, but can be overridden by the Broker. See Universal Broker Override Options for a full list of these options.
Additionally, these configuration options can be set with environment variables for Agents running in containers:
Environment Variable | Configuration Option | Description | Example |
|---|---|---|---|
UBRMSGLEVEL | Specifies the Universal Broker message level. Default = INFO | UBRMSGLEVEL=TRACE | |
UAGMSGLEVEL or UAGLEVEL | Specifies the UAG Server message level. Default = INFO | UAGMSGLEVEL=TRACE | |
UDMMSGLEVEL | Specifies the UDM Server message level. Default = INFO | UDMMSGLEVEL=TRACE | |
UCMMSGLEVEL | Specifies the UCM Server message level. Default = INFO | UCMMSGLEVEL=TRACE | |
UAGLOGLEVEL or UAGLOGLVL | Specifies the UAG Server log level. Default = INFO | UAGLOGLEVEL=T |
These environment variables can only update the Agent configuration in a Docker container. You cannot use them with normal Agents.
Unsupported Agent Features
Currently, Universal Connector for SAP is not supported in Universal Agent containers.
Docker Container Ports
The following ports may need to be mapped when running containers from the Universal Agent image.
Port | Description |
|---|---|
7887 | Universal Broker listening port |
7878 | OMS Server listening port |
Universal Agent Logs
The Universal Agent image configures the Universal Broker service to start in console mode, which writes all log data (unv.log and agent.log) to STDOUT. To view the log of a specific container, run the following command:
docker logs container-name
Running Universal Agent Docker Container Examples
This command runs a Universal Agent latest-version container that connects to Universal Controller (via an OMS server) with SSL/TLS enabled and registers with an Agent ID of UA001:
docker run --detach --env UAGNETNAME=UA001 --env UAGOMSSERVERS=7878@uchost --name ua-test stonebranch/universal-agent:latest
License
Licenses for the products installed within the images:
- UAC: The project license is in the End User License Agreement (see the
/licensesfolder in the image). - Python: The project license is Python Software Foundation License Version 2.
As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).
As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.