Getting started with akera.io – Part one

In akera.io, node.js, Progress by Marian Edu0 Comments

akera.io & docker

This is the first part of the getting started series we are preparing for akera.io and since we love docker let’s start with a post on how you can easily have your Progress OpenEdge application nicely packed in containers.

Being very lightweight and modular all akera.io components are a great fit for Docker containers so, although optional, we do recommend running them in a Docker environment.

Docker

An open platform for distributed applications for developers and sysadmins ...

  • Have the OpenEdge linux installation kit at hand.
  • Create a Dockerfile image description that will be used to build the ‘installer’ image and serve as base image for other OpenEdge images.
  • Start from a linux distribution of your choice – make sure it’s supported by Progress if you plan to use it in production.
  • Copy the installation kit to the image on build (ADD will automatically unarchive the content for known archive types).
  • Build the base image

Dockerfile

# Base image with OpenEdge 11.6 installer

FROM ubuntu:latest

MAINTAINER Marian Edu <marian.edu@acorn.ro>
LABEL version=”11.6″

LABEL description=”Progress OpenEdge 11.6 installer image.”

RUN mkdir /proinst

WORKDIR /proinst

ADD PROGRESS_OE_11.6_LNX_64.tar.gz /proinst/


Build the image

$ docker build –rm=true -t oe:11.6 .

The same image description – Dockerfile – can be used to build OpenEdge images with different products/components installed. You always start from the installer image builded in the first step and use a unattended install response file appropriate for the environment you need to build.

  • Have the OpenEdge licenses file at hand.
  • Create a Dockerfile image description that will be used to build the OpenEdge image.
  • Start from the installer image.
  • Prepare a response.ini file for OpenEdge unattended installation – easiest is to do the installation manually and use the content saved in $DLC/installresponse.ini file.
  • Copy the response.ini and start the unattended installation.
  • Clean-up by removing the unnecessary installation files.
  • Build the image

Since the image will have OpenEdge licensed products installed is probably not a good idea to share the image on Docker Hub.


Dockerfile


# OpenEdge 11.6 runtime image

FROM oe:11.6

MAINTAINER Marian Edu <marian.edu@acorn.ro>

LABEL version=”11.6″

LABEL description=”Progress OpenEdge 11.6 runtime image.”

#change the working folder for installation

WORKDIR /tmp

#copy the unattended installation file

ADD response.ini /tmp/response.ini

# set environment variable

ENV TERM xterm

# start unattended setup

RUN /proinst/proinst -b /tmp/response.ini

# remove installation files

RUN rm -Rf /proinst

This is how a response.ini file looks like, to install the OpenEdge runtime required by akera.io Application Server just replace the license information and adjust installation path and localisation settings to better suits your needs.
You can start building the image using the Dockerfile from previous step together with this response.ini file – easiest have them both in the same folder or use a full path for response.ini file in image description.


response.ini


; DESCRIPTION of Configuration Count

[Configuration Count]
NumberofConfigurations=1

[Product Configuration 1]
name=Your Company Name

serial=123456789

version=11.6

control=XXXXX XXXXX XXXXX

prodname=Client Networking

[Type and Destination]
type=COMPLETE

path=/usr/dlc

workpath=/usr/wrk

oem_path=/usr/oemgmt
oem_workpath=/usr/wrk_oemgmt

[Language Default]
DefaultLanguage=English – International

[Language Choice]
lang1=English – International

[International Settings]
cpinternal=ISO8859-1

cpcollation=Basic

cpcase=Basic

dateformat=mdy

numsep=44

numdec=46


Build the image

$ docker build –rm=true -t oe-runtime:11.6 .

Share this Post

Leave a Comment