Clone
3
Project Overview
Patrick Gniza edited this page 2026-08-17 10:48:39 +02:00

Deutsch | English

Project Overview

Purpose

The Romexis Docker project provides a reproducible Docker-based environment for running Planmeca Romexis Server on Linux.

The project is designed to:

  • run Romexis Server in containers
  • keep runtime configuration externalized
  • select the database backend through Docker Compose configuration
  • avoid manual Windows-style setup steps
  • support persistent application and database data
  • provide browser-based access to Romexis Admin / RomexisConfig
  • provide mRomexis Web App as a separate web container
  • support migration from existing installations
  • support repeatable local and CI/CD builds
  • prepare a path for both Microsoft SQL Server and Firebird database backends

Main Runtime Services

romexis
  Romexis Server backend runtime.

mssql / firebird
  Selected database backend loaded through Compose override files.

romexis-admin
  Browser-accessible Romexis Admin / RomexisConfig runtime using noVNC.

romexis-app
  Tomcat-based mRomexis Web App container.

proxy
  OpenResty/Nginx proxy for mRomexis Web App backend access.

romexis-migration
  Optional migration service for MSSQL-based migration workflows.

Design Principles

No Romexis binaries in Git

The repository does not contain Romexis application binaries.

Instead, the build process downloads official installer packages and extracts only the required server, admin and web components into payload images.

Layered image architecture

The build system is split into reusable layers:

Payload image
  Contains extracted Romexis application files, SQL payload and web/admin artifacts.

Base image
  Contains reusable runtime dependencies such as Java, JavaFX and database tools.

Service images
  Build server, admin, migration and mRomexis runtime containers from the prepared layers.

Architecture-independent payloads

The Romexis payload itself is architecture independent. Architecture-specific parts such as native libraries remain in service runtime images.

The same payload can be reused for:

linux/amd64
linux/arm64

Compose-based backend selection

Database backends are selected through .env:

DATABASE_BACKEND=mssql
COMPOSE_FILE=docker-compose.yml:docker-compose.${DATABASE_BACKEND}.yml

The backend-specific Compose override sets the correct database service and Romexis database environment values.


Main Features

  • Romexis Server 6.5 Docker runtime
  • Microsoft SQL Server 2022 backend
  • Firebird backend through Compose override
  • automatic database initialization
  • persistent runtime volumes
  • Java Property Agent for server-side runtime property injection
  • versioned payload images
  • multi-architecture service images
  • Romexis Admin container with browser/noVNC access
  • VNC-session-controlled Admin lifecycle
  • localized Admin splash screen
  • mRomexis Web App container for Romexis 6.5.3 and newer
  • OpenResty/Nginx proxy for mRomexis backend requests
  • local build scripts for Linux/macOS and Windows
  • Drone CI/CD pipeline
  • migration service with Web UI, REST API and SFTP
  • Windows migration client
  • Gitea package registry publishing

Supported Platforms

Platform Status
linux/amd64 Primary supported target
linux/arm64 Supported for Romexis runtime images
Microsoft SQL Server on amd64 Default backend
Firebird on amd64/arm64 Supported through dedicated Compose override
Romexis Admin via noVNC Browser-based access
mRomexis Web App Requires Romexis 6.5.3 or newer
macOS source migrations Planned through Firebird and client workflow

Repository Areas

romexis-base/
  Reusable runtime base image.

romexis-payload/
  Windows installer payload extraction.

romexis-firebird-payload/
  macOS Firebird SQL payload extraction.

romexis/
  Final Romexis Server image.

romexis-admin/
  Romexis Admin / RomexisConfig noVNC image.

romexis-mromexis-app/
  mRomexis Web App Tomcat image.

migration-service/
  Migration orchestration service.

migration-client/
  Migration helper client.

scripts/
  Local build helper scripts.

docker-compose.yml
  Base runtime stack.

docker-compose.mssql.yml
  Microsoft SQL Server backend override.

docker-compose.firebird.yml
  Firebird backend override.

.drone.yml
  CI/CD pipeline.