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

Deutsch | English

Projektübersicht

Zweck

Das Romexis-Docker-Projekt stellt eine reproduzierbare Docker-basierte Umgebung für den Betrieb von Planmeca Romexis Server unter Linux bereit.

Das Projekt wurde dafür entwickelt:

  • Romexis Server in Containern auszuführen
  • die Runtime-Konfiguration zu externalisieren
  • das Datenbank-Backend über die Docker-Compose-Konfiguration auszuwählen
  • manuelle, Windows-typische Einrichtungsschritte zu vermeiden
  • persistente Anwendungs- und Datenbankdaten zu unterstützen
  • browserbasierten Zugriff auf Romexis Admin / RomexisConfig bereitzustellen
  • mRomexis Web App als separaten Web-Container bereitzustellen
  • die Migration vorhandener Installationen zu unterstützen
  • wiederholbare lokale und CI/CD-Builds zu unterstützen
  • einen Weg für Microsoft SQL Server und Firebird als Datenbank-Backends vorzubereiten

Wichtigste Runtime-Dienste

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.

Designprinzipien

Keine Romexis-Binärdateien in Git

Das Repository enthält keine Romexis-Anwendungsbinärdateien.

Stattdessen lädt der Build-Prozess offizielle Installer-Pakete herunter und extrahiert ausschließlich die erforderlichen Server-, Admin- und Web-Komponenten in Payload-Images.

Mehrschichtige Image-Architektur

Das Build-System ist in wiederverwendbare Schichten aufgeteilt:

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.

Architekturunabhängige Payloads

Die Romexis-Payload selbst ist architekturunabhängig. Architekturspezifische Bestandteile wie native Bibliotheken verbleiben in den Service-Runtime-Images.

Dieselbe Payload kann wiederverwendet werden für:

linux/amd64
linux/arm64

Compose-basierte Backend-Auswahl

Datenbank-Backends werden über .env ausgewählt:

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

Das Backend-spezifische Compose-Override setzt den korrekten Datenbankdienst und die Romexis-Datenbank-Umgebungswerte.


Hauptfunktionen

  • Romexis-Server-6.5-Docker-Runtime
  • Microsoft-SQL-Server-2022-Backend
  • Firebird-Backend über Compose-Override
  • automatische Datenbankinitialisierung
  • persistente Runtime-Volumes
  • Java Property Agent zur serverseitigen Injektion von Runtime-Eigenschaften
  • versionierte Payload-Images
  • Multi-Architektur-Service-Images
  • Romexis-Admin-Container mit Browser-/noVNC-Zugriff
  • durch VNC-Sitzungen gesteuerter Admin-Lebenszyklus
  • lokalisierter Admin-Startbildschirm
  • mRomexis-Web-App-Container für Romexis 6.5.3 und neuer
  • OpenResty-/Nginx-Proxy für mRomexis-Backend-Anfragen
  • lokale Build-Skripte für Linux/macOS und Windows
  • Drone-CI/CD-Pipeline
  • Migrationsdienst mit Web-UI, REST-API und SFTP
  • Windows-Migrationsclient
  • Veröffentlichung in der Gitea-Paket-Registry

Unterstützte Plattformen

Plattform Status
linux/amd64 Primär unterstütztes Ziel
linux/arm64 Für Romexis-Runtime-Images unterstützt
Microsoft SQL Server auf amd64 Standard-Backend
Firebird auf amd64/arm64 Über dediziertes Compose-Override unterstützt
Romexis Admin über noVNC Browserbasierter Zugriff
mRomexis Web App Erfordert Romexis 6.5.3 oder neuer
macOS-Quellmigrationen Über Firebird- und Client-Workflow geplant

Repository-Bereiche

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.