Deutsch | English
Developer Guide
This page describes the internal project structure and development workflow.
Main Project Directories
romexis-common/
Shared Java agent, patches and native helper sources.
romexis-base/
Shared Romexis Server runtime image.
romexis-gui-runtime/
Shared GUI runtime for Romexis Admin and Client.
romexis-payload/
Windows installer payload extraction for Server/Admin/mRomexis.
romexis-client-payload/
Version-specific Romexis Client payload image.
romexis-firebird-payload/
macOS Firebird SQL payload extraction.
romexis/
Final Romexis Server image.
romexis-admin/
Final Romexis Admin image.
romexis-client/
Final standalone Romexis Client image.
romexis-mromexis-app/
Final mRomexis Web App image.
romexis-control-agent/
Restricted container control API.
migration-service/
Migration Web UI, REST API, SFTP and restore orchestration.
migration-client/
Source-side migration helper client.
scripts/
Local and CI build helpers.
docs/
Extended markdown documentation.
Development Principles
- Keep proprietary binaries out of Git.
- Keep version-specific installer extraction in payload images.
- Keep expensive architecture-specific dependencies in shared runtime images.
- Keep common agent, patch and native helper sources in
romexis-common/. - Keep final Server, Admin and Client images focused on assembly and runtime logic.
- Keep Romexis Admin and Romexis Client as independent final images based on the same GUI runtime.
- Keep MSSQL and Firebird initialization separated.
- Use the wrapper script only for backend routing.
- Prefer explicit validation over silent incomplete images.
Build Dependency Model
The build is intentionally split into three layers:
- Payload images contain version-specific Romexis installer content.
- Runtime images contain reusable architecture-specific operating-system and library dependencies.
- Final images assemble payload and runtime content together with the component-specific scripts.
This keeps large installer extraction and expensive runtime preparation reusable across Server, Admin and Client builds. Build-only payload and runtime images are not additional runtime services in Docker Compose.
For local development use scripts/build-local.sh or scripts/build-local.ps1. Drone uses the same dependency model with immutable commit-specific staging tags and registry-backed BuildKit caches.
Database Init Scripts
init-romexis-db.sh
Routes to backend-specific init script.
init-romexis-mssql-db.sh
Handles SQL Server initialization.
init-romexis-firebird-db.sh
Handles Firebird initialization.
Version-Aware Database Updates
The database init scripts use an explicit Romexis update order.
This is required because markers do not sort numerically.
Example:
600, 610, 63, 64, 651, 652, 653
The script resolves the target marker from /opt/romexis/version and runs updates until that marker.
Testing Image Contents
docker run --rm --entrypoint find \
gitea.buchhorster.de/planmeca/romexis-server:<tag> \
/opt -maxdepth 3 -type f | sort
Open shell:
docker run --rm -it --entrypoint bash \
gitea.buchhorster.de/planmeca/romexis-server:<tag>
Local Debug Compose Override
services:
romexis:
entrypoint:
- /bin/bash
- -c
- sleep infinity
stdin_open: true
tty: true
Then:
docker compose exec romexis bash
Romexis Docker Wiki
English
Getting Started
- Project Overview
- Architecture
- Quick Start
- Synology Quick Start
- Use with Docker + WSL in Windows
- Compose Runtime
- Configuration
- Container Images
Runtime Services
- Romexis Admin
- Romexis Client
- mRomexis Web App
- Runtime Layout
- Backup and Restore
- Troubleshooting
- Security
Build System
Database
Migration
Development
Source Documents
Deutsch
Erste Schritte
- Projektübersicht
- Architektur
- Schnellstart
- Synology Quick Start
- Nutzung mit Docker + WSL unter Windows
- Compose-Runtime
- Konfiguration
- Container-Images
Runtime-Dienste
- Romexis Admin
- Romexis Client
- mRomexis Web App
- Runtime-Layout
- Sicherung und Wiederherstellung
- Fehlerbehebung
- Sicherheit
Build-System
Datenbank
Migration
Entwicklung
Quelldokumente
Romexis Docker Project Wiki / Romexis-Docker-Projekt-Wiki
English Home · Deutsche Startseite · English source documents · Deutsche Quelldokumente · Security · Sicherheit
Internal operations and development wiki / Internes Betriebs- und Entwicklungswiki