Other options for deployment
- Last Updated: January 17, 2024
- 3 minute read
- OpenEdge
- Version 12.8
- Documentation
You can create your Docker deployment without using the provided deploy scripts. Docker can build a custom container image by reading instructions from a Dockerfile. This topic provides examples of how to update a Dockerfile to customize PAS for OpenEdge within a custom container image.
Create a PAS for OpenEdge instance
- conf
- Instance-level configurations are defined in this directory.
- tlr
- This directory contains the run-time properties to be tailored at the instance level.
- ablapps
- This directory contains the archive files for your ABL application.
Create an instance archive file
Deploy using the stand-alone Docker image
You can create a stand-alone Docker image containing PAS for OpenEdge and an ABL application by using a Dockerfile. Everything needed for a PAS for OpenEdge application is contained in this one image.
You must configure environment variables and provide some configurations when you create a Dockerfile:
INSTANCE_NAME- This environment variable defines the name of the PAS for OpenEdge instance. The name is used when creating a PAS for OpenEdge instance in the Docker container. This environment variable is mandatory.
APP_NAME- (Optional) This environment variable defines the application name used when Fluent Bit logging is enabled. The name is logged as a new field in each log entry.
FLUENTBIT_LOGGING- (Optional) Fluent Bit logging is enabled by default. To disable logging, change this environment variable property to false.
You can provide run-time configurations by creating a runtime.properties file and placing it in /deploy/scripts/config. For example, to provide the database
configuration for an ABL application, provide the following configuration:
ABLAPP-NAME.DB.CONNECTION.PARAMS=-db additional parameters
- Create a Dockerfile using JDK
as a Docker image:
FROM JDK Docker image name:JDK Docker image tag as builder-jdk FROM progresssoftware/prgs-pasoe:12.x.x USER pscadmin COPY --chown=pscadmin:pscadmin Path of the license file /psc/dlc/progress.cfg COPY --from=builder-jdk --chown=pscadmin:pscadmin Java location inside the JDK Docker image /usr/java COPY --chown=pscadmin:pscadmin Path to deployable application /deploy/artifacts/ #COPY --chown=pscadmin:pscadmin Path to runtime properties file /deploy/scripts/config ENV \ INSTANCE_NAME="instance name" \ APP_NAME="application name" \ FLUENTBIT_LOGGING=true/false EXPOSE 8811 CMD ["/bin/sh", "-c", "sh /deploy/scripts/startServer.sh"] - Create a Dockerfile using the
downloaded JDK:
FROM progresssoftware/prgs-pasoe:12.x.x USER pscadmin COPY --chown=pscadmin:pscadmin Path of the license file /psc/dlc/progress.cfg COPY --chown=pscadmin:pscadmin Path of the installed JDK location /usr/java COPY --chown=pscadmin:pscadmin Path to deployable application /deploy/artifacts/ #COPY --chown=pscadmin:pscadmin Path to runtime properties file /deploy/scripts/config ENV \ INSTANCE_NAME="instance name" \ APP_NAME="application name" \ FLUENTBIT_LOGGING=true/false EXPOSE 8811 CMD ["/bin/sh", "-c", "sh /deploy/scripts/startServer.sh"]
- Build the new
image:
docker build . -t PAS image name - Run the
container:
docker run --name Container name -p host port:8811 PAS image name
https://host ip:host port in your
browser.