From development to product maturity with Docker
RISC Software GmbH supported the LKR Leichtmetallkompetenzzentrum Ranshofen in rolling out a software product for production in continuous aluminum casting. This software enables precise parameter configuration via a web application. The Docker platform was used to combine different user environments and versions.
Modern software projects require a large number of different libraries, system settings, environments and services, each in different versions. However, the end product must run on a variety of systems. Docker has emerged as the de facto standard for reconciling these differing conditions.
From March to July 2022, RISC Software GmbH and the LKR Leichtmetallkompetenzzentrum Ranshofen transformed the FReSGo framework from a pure developer version into a state that enables the rollout of production-ready installations via docker images.

Functionality
The FReSGo framework allows the user to select a parameter configuration for a continuous aluminum casting via a web application. If no configuration exists for the desired parameters, the framework runs a simulation via OpenFoam to determine the required configuration. The web application and simulation use a shared PostgreSQL database.
Initial situation
The framework including the web application is written in Python and ran on the respective developer computers, as well as a local PostgreSQL database. The simulation consisted of a C++ component for OpenFOAM and the OpenFOAM simulation core, which required a relatively large amount of effort to install locally due to its demanding requirements. The C++ component had to be built after each change, and the knowledge lay with a single developer. All sources are managed in an LKR-internal installation of Gitlab.
Measures
The following steps were taken to formalize the implicit knowledge and automate building, testing and rolling out in production systems:
- Introduction or revision of Docker configurations for each sub-project.
- Creation of common parent docker images so that the number of different configurations remained low.
- Consolidation of shared information in environment variables that are codified in an .env file.
- Based on the publicly available Docker image from OpenFOAM, a simulation image was created that automatically builds the C++ component.
- Extraction of the test cases into a separate Docker test image.
Results
Development benefited enormously from the changeover. Previously, broken code in the repository often went unnoticed because it ran flawlessly on one developer’s specific system environment, but not on another developer’s slightly different environment. Debugging cycles were shortened.
Project partners
Project details
- Project partners:
- LKR Light Metal Competence Center Ranshofen (AIT Austrian Institute of Technology)
- Term: 8 months (05/2022-12/2022)
Contact us
Project management
DI Paul Heinzlreiter
Senior Data Engineer