Uniface Server Docker Image

The Uniface Server Docker Image contains a Linux Uniface Server environment, including the Uniface Router and Uniface Server. The purpose of this image is to run Uniface solutions in a containerized Docker environment.

The Uniface Docker Image can run in the role of:

  • Uniface Application Server
  • Uniface Web Application Server (excluding the Web Server)
  • Uniface Database Server

Note: These Uniface clients and the Web Request Dispatcher (WRD) utilize the Uniface Server Docker containers for backend processing and data provision. There is no Uniface Client Runtime or IDE image because Docker is not suited to containerizing the desktop GUI of an application.

The base image is based on the RedHat Linux Universal Base Image 8 Minimal distribution that is designed for applications containing their own dependencies. The Universal Base Images (UBI) are maintained by Red Hat. UBI Minimal is a stripped-down image that uses microdnf as a package manager and is freely redistributable. Optional support for UBI minimal is available through Red Hat subscriptions.

Note: The Uniface container runs in a Linux context regardless of the operating system of the Docker host.

Image Details

The underlying configuration of Uniface in a container is the same as with standard deployment. However, its important to understand how your application components, environment, and network map onto the image to create the container.

Files

Deploy your compiled application objects to the Linux-based Uniface Server image, either as Uniface Deployment Archives (UARs) or resource folders, along with any dependencies and specific configuration. This is the same as traditional deployment. This collection of objects is called the Application Context.

Note: 3GL libraries and other platform specific dependencies need to be ported to the Linux distribution used by the Uniface Server Docker image.

The Uniface image contains the following Uniface files and folders:

Path USYS Path Logical Description
/home/uniface/application USYSAPPL:

Application context—Default directory for deploying a Uniface application

/home/uniface/application/adm USYSADM:

Default directory for application assignment files (.asn) and initialization files (.ini)

/home/uniface/project  

Uniface Working directory

/home/uniface/unifacerc

Extensible initialization script executed at container start-up

/var/log/uniface USYSLOG:

Default directory for Uniface log files

/opt/uniface/adm   Uniface proprietary configuration files (for start-up only and not relevant for your Uniface application)
/opt/uniface/bin USYSBIN:

Uniface proprietary binaries (Uniface Router, Uniface Server)

/opt/uniface/lib USYSLIB: Uniface proprietary shared libraries
/opt/uniface/usys USYS: Uniface Deployment Archive (UARs)

In a typical deployment, the main folders you will use are USYSAPPL, USYSADM and USYSLOG.

Network

The container launches the Uniface Router process on start-up, listening on port 13001 by default. This internal default can be changed, however this is typically not necessary because it is mapped by the Docker engine to an external facing port when the container is run.

The default user for the Docker image is uniface with password uniface and must be used in the Uniface client assignment files to connect to the Uniface Router. It is possible to change the default password by setting the environment variable AUTH_PASSWORD when the container is started.

Licensing

Docker support introduces a new license features. These must be added to your RMS server license to run the Uniface Server Docker image based containers. Contact your Uniface representative to obtain these features.

Getting the Image

The Uniface Server Image is published and regularly updated on the Docker registry.

The registry page will always contain the latest information about the structure, configuration, capability, and usage of the images.