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.