Docker Containers
Starting from version 3.4.0, USP is available as a set of custom Docker images.
Image Variants
Each image is offered in two variants that differ only in the base operating system layer. The USP binary is the same in both.
- RHEL: built on
redhat/ubi10-minimal. Use this variant if your organization requires Red Hat base images. - Debian: built on
debian:trixie. A suitable default for most deployments without a specific OS policy requirement.
If your organization has no base image policy, either variant works.
Each USP component is provided in a separate Docker image:
| Image | Component |
|---|---|
usp-manager | USP Manager |
usp-server | USP Server |
usp-client | USP Client |
Downloading a USP Docker Image
To obtain the Docker images, contact your Stonebranch representative. If you do not have a representative, reach out to support@stonebranch.com.Architecture
Each USP component runs in its own container. The three images are independent; they are configured separately and communicate over the network. USP Manager and USP Client run in the trusted internal network (LAN); USP Server runs in the DMZ.
USP Manager connects outward to a database, which must be running and reachable before the Manager container starts. Admins access the USP Manager Admin UI through port 8800.
USP Manager communicates with USP Server over mutual TLS (mTLS) through port 8900 on the Server container. This management channel is used to push configuration and track operational state.
USP Client initiates an outbound tunnel to USP Server (no inbound port mappings are required on the Client container). Once the tunnel is established, USP Client forwards authorized traffic to UDMG Server (or another configured internal target). External Partners connect to USP Server through port 8901.
Prerequisites
Database
USP Manager requires a running database. Refer to Database Installation for setup instructions.
Running a USP Container
There are two ways to provide configuration when running a USP container:
- Environment Variables (Recommended): pass required parameters as
-eflags ondocker run, overriding the default configuration file bundled in the image. - Custom Configuration File: mount a complete HCL configuration file from the host into the container, replacing the default configuration file bundled in the image.
Environment Variables (Recommended)
Pass configuration parameters directly to docker run using -e flags.
The following commands include the minimum required parameters for each component:
- USP Manager
- USP Server
- USP Client
docker run -d \
--name usp-manager \
-p 8800:8800 \
-e USP_MANAGER_ENCRYPTION_KEK=<encryption-key> \
-e USP_MANAGER_AUTH_KEY=<auth-key> \
-e USP_MANAGER_DATABASE_ENGINE=<engine> \
-e USP_MANAGER_DATABASE_HOSTNAME=<hostname> \
-e USP_MANAGER_DATABASE_PORT=<port> \
-e USP_MANAGER_DATABASE_NAME=<database-name> \
-e USP_MANAGER_DATABASE_USERNAME=<database-user> \
-e USP_MANAGER_DATABASE_PASSWORD=<database-password> \
<image-name>:<tag>
For guidance on generating and setting these values, refer to Set the USP Manager's Configuration File in the USP Manager Linux Installation guide.
For a full list of available options, refer to USP Manager Environment Variables.
docker run -d \
--name usp-server \
-p 8900:8900 \
-p 8901:8901 \
-e USP_SERVER_WEB_TLS_CERT=<path-to-tls-cert> \
-e USP_SERVER_WEB_TLS_KEY=<path-to-tls-key> \
-e USP_SERVER_WEB_TLS_CA=<path-to-tls-ca> \
<image-name>:<tag>
For guidance on generating and setting these values, refer to Set the USP Server's Configuration File in the USP Server Linux Installation guide.
For a full list of available options, refer to USP Server Environment Variables.
docker run -d \
--name usp-client \
-e USP_CLIENT_NAME=<client-name> \
-e USP_CLIENT_KEY=<client-key> \
-e USP_CLIENT_TUNNEL_HOST=<tunnel-host> \
-e USP_CLIENT_TUNNEL_PORT=<tunnel-port> \
<image-name>:<tag>
For guidance on generating and setting these values, refer to Set the USP Client's Configuration File in the USP Client Linux Installation guide.
For a full list of available options, refer to USP Client Environment Variables.
Custom Configuration File
Mount a configuration file from the host into the container at the default configuration file location, replacing the default:
- USP Manager
- USP Server
- USP Client
docker run -d \
--name usp-manager \
-p 8800:8800 \
-v <path-to-existing-config-file>:/config/usp-manager.hcl:ro \
<image-name>:<tag>
The following configuration file includes the minimum required parameters to start USP Manager:
encryption {
kek_source = "config"
kek = "<encryption-key>"
}
database {
engine = "<engine>"
hostname = "<hostname>"
port = <port>
name = "<database-name>"
username = "<database-user>"
password = "<database-password>"
}
auth {
key = "<path-to-auth-key>"
}
For guidance on generating and setting these values, refer to Set the USP Manager's Configuration File in the USP Manager Linux Installation guide.
For a full list of available options, refer to USP Manager Configuration File.
docker run -d \
--name usp-server \
-p 8900:8900 \
-p 8901:8901 \
-v <path-to-existing-config-file>:/config/usp-server.hcl:ro \
<image-name>:<tag>
The following configuration file includes the minimum required parameters to start USP Server:
name = "<server-name>"
web {
tls {
cert = "<path-to-tls-cert>"
key = "<path-to-tls-key>"
ca = "<path-to-tls-ca>"
}
}
For guidance on generating and setting these values, refer to Set the USP Server's Configuration File in the USP Server Linux Installation guide.
For a full list of available options, refer to USP Server Configuration File.
docker run -d \
--name usp-client \
-v <path-to-existing-config-file>:/config/usp-client.hcl:ro \
<image-name>:<tag>
The following configuration file includes the minimum required parameters to start USP Client:
name = "<client-name>"
key = "<client-key>"
tunnel {
host = "<tunnel-host>"
port = <tunnel-port>
}
For guidance on generating and setting these values, refer to Set the USP Client's Configuration File in the USP Client Linux Installation guide.
For a full list of available options, refer to USP Client Configuration File.
Docker Container Default Port Numbers
The USP Docker images declare the following ports. To make a port accessible on the host, map it explicitly using the -p <host-port>:<container-port> option when running the container.
| Default Port Number | Description | Configuration File Argument | Environment Variable |
|---|---|---|---|
8800 | USP Manager web server port. | web.host (in the usp-manager.hcl file) | USP_MANAGER_WEB_HOST |
8900 | USP Server management port. | web.config_host (in the usp-server.hcl file) | USP_SERVER_WEB_CONFIG_HOST |
8901 | USP Server API port. | web.api_host (in the usp-server.hcl file) | USP_SERVER_WEB_API_HOST |
Entrypoint
Each USP Docker image has a simple entrypoint that adds support for the OpenShift arbitrary UIDs and then proceeds to start each component using the binary and the configuration file at the default location. This is either the default file bundled in the image, a custom file mounted at that path, or the default file with values overridden by environment variables, as explained in Running a USP Container.
| Image | Binary Location | Default Configuration File Location |
|---|---|---|
usp-manager | /app/usp-manager | /config/usp-manager.hcl |
usp-server | /app/usp-server | /config/usp-server.hcl |
usp-client | /app/usp-client | /config/usp-client.hcl |
Image Labels
USP images include labels that provide metadata about the image, such as the version, base image, and build information.
OCI Labels
These labels follow the OCI Image Format Specification.
| Label | Description | Example Value |
|---|---|---|
org.opencontainers.image.authors | The contact details of the organization that created the image. | support@stonebranch.com |
org.opencontainers.image.base.name | The name of the base image the component image was created with. | docker.io/redhat/ubi10-minimal:latest |
org.opencontainers.image.base.digest | The digest of the base image the component image was created with. | sha256:d801168f5e8b… |
org.opencontainers.image.created | An ISO8601 timestamp of when the image was created. | 2026-09-07T20:00:41Z |
org.opencontainers.image.description | A description of the component image and what it is used for. | USP Manager |
org.opencontainers.image.ref.name | The name of the component in the image. | usp-manager |
org.opencontainers.image.title | The title for the image. | USP Manager installed in a Red Hat base image |
org.opencontainers.image.vendor | The organization distributing the image. | Stonebranch, Inc. |
org.opencontainers.image.version | The version of the application inside the image. | 3.4.0 |
RHEL Labels
These labels follow the Red Hat OpenShift Software Certification Policy Guide.
| Label | Description | Example Value |
|---|---|---|
name | The image name. | usp-manager |
vendor | The company name. | Stonebranch, Inc. |
version | The image version. | 3.4.0 |
release | The image release. | 3.4.0 |
summary | A short description of the image. | USP Manager |
description | A description of the image. | The USP Manager provides the management API and web UI for UDMG Secure Proxy |