Clone
6
Server Image
Patrick Gniza edited this page 2026-08-21 09:04:39 +02:00

Deutsch | English

Server Image

Directory:

romexis/

The final Romexis Server image combines the prepared payload, runtime base image, Firebird payload and runtime scripts.


Build Inputs

ROMEXIS_BASE_IMAGE
ROMEXIS_PAYLOAD_IMAGE
ROMEXIS_FIREBIRD_PAYLOAD_IMAGE
ROMEXIS_VERSION
TARGETARCH
IMAGE_SUFFIX

Example defaults:

ARG TARGETARCH=amd64
ARG ROMEXIS_VERSION=6.5.3.444.203
ARG IMAGE_SUFFIX=

ARG ROMEXIS_BASE_IMAGE=gitea.buchhorster.de/planmeca/romexis-base-jre:11
ARG ROMEXIS_PAYLOAD_IMAGE=gitea.buchhorster.de/planmeca/romexis-payload:${ROMEXIS_VERSION}
ARG ROMEXIS_FIREBIRD_PAYLOAD_IMAGE=gitea.buchhorster.de/planmeca/romexis-firebird-payload:latest

Build Stages

Build context: romexis-server-runtime
  Provides Java 11, Chilkat and RomexisPropertyAgent.jar.

Build context: romexis-payload
  Provides /opt/romexis and /opt/romexis-mssql-db.

Build context: romexis-firebird-payload
  Provides /opt/romexis-firebird-db.

Final stage
  Uses romexis-server-runtime as its filesystem base and assembles payloads plus runtime scripts.

BuildKit Dependency Contexts

The local and CI build scripts pass runtime and payload images as explicit BuildKit named image contexts. This makes the dependency chain unambiguous and allows CI to use commit-specific staging images while local builds can use isolated local aliases.

The final Server Dockerfile no longer compiles Chilkat or the PropertyAgent itself; those artifacts are materialized from the shared server runtime.



Runtime Scripts

The final image includes:

/entrypoint.sh
/opt/init-romexis-db.sh
/opt/init-romexis-mssql-db.sh
/opt/init-romexis-firebird-db.sh
/opt/fix-keystore-alias.sh

Java Property Agent

The image includes:

/opt/romexis/server/RomexisPropertyAgent.jar

This allows runtime property injection before Romexis starts.

Example environment variable pattern:

PROPERTY_AGENT_SET_KEY_<property-name>=<value>

Runtime Validation

The Dockerfile should validate important payload outputs during build, especially:

/opt/romexis/server/RomexisServer.jar
/opt/romexis/version
/opt/romexis-mssql-db
/opt/romexis-firebird-db

Failing early is preferred over producing an incomplete runtime image.