Architektur
Übergeordnete Runtime-Architektur
Die Runtime ist in einen Basis-Compose-Stack und ein ausgewähltes Datenbank-Backend-Override aufgeteilt.
Microsoft-SQL-Server-Modus
+----------------------+ +----------------------+
| Romexis Clients | | Browser / noVNC User |
+----------+-----------+ +----------+-----------+
| |
| RMI / Romexis ports | HTTP / WebSocket
v v
+----------------------+ +----------------------+
| Romexis Server | | Romexis Admin |
| Docker Container | | noVNC Container |
+----------+-----------+ +----------------------+
|
| JDBC
v
+----------------------+
| Microsoft SQL Server |
| Docker Container |
+----------------------+
Firebird-Modus
+----------------------+ +----------------------+
| Romexis Clients | | Browser / noVNC User |
+----------+-----------+ +----------+-----------+
| |
| RMI / Romexis ports | HTTP / WebSocket
v v
+----------------------+ +----------------------+
| Romexis Server | | Romexis Admin |
| Docker Container | | noVNC Container |
+----------+-----------+ +----------------------+
|
| JDBC / Jaybird
v
+----------------------+
| Firebird Server |
| Docker Container |
+----------------------+
mRomexis Web App
+----------------------+
| Browser |
+----------+-----------+
|
| HTTP
v
+----------------------+
| OpenResty / Nginx |
| proxy container |
+----------+-----------+
|
+------------------------------+
| |
v v
+----------------------+ +----------------------+
| mRomexis Web App | | Romexis Server |
| Tomcat Container | | Backend port 8093 |
+----------------------+ +----------------------+
Der mRomexis-Proxy schreibt Backend-Proxy-Anfragen auf den internen Dienst romexis um. Er vertraut keinen beliebigen, vom Browser bereitgestellten Hosts.
Image-Architektur
romexis-payload:<version>
|
+--> romexis-server:<version>
+--> romexis-admin:<version>
+--> romexis-mromexis-app:<version>
romexis-client-payload:<version>
|
+--> romexis-client:<version>
romexis-base-jre:11-<arch>
|
+--> romexis-server:<version>-<arch>
romexis-gui-runtime:1-<arch>
|
+--> romexis-admin:<version>-<arch>
+--> romexis-client:<version>-<arch>
romexis-firebird-payload:latest
|
+--> romexis-server:<version>-<arch>
Independent service images:
romexis-migration-service:latest
romexis-control-agent:latest
Payload-Images enthalten versionsabhängige Inhalte aus dem Installer. Runtime-Images enthalten aufwendige architekturspezifische Abhängigkeiten, die über mehrere Romexis-Versionen hinweg wiederverwendet werden. Die finalen Server-, Admin- und Client-Images setzen daher im Wesentlichen ein Payload mit der passenden Runtime-Schicht und komponentenspezifischen Startdateien zusammen.
romexis-client erbt nicht mehr von romexis-admin; beide verwenden unabhängig voneinander die gemeinsame romexis-gui-runtime. Payload- und Runtime-Images sind Build-Abhängigkeiten und keine zusätzlichen Dienste im Runtime-Compose-Stack.
Compose-Architektur
docker-compose.yml
Common services:
- romexis
- romexis-admin
- romexis-app
- proxy
docker-compose.mssql.yml
MSSQL service and MSSQL-specific Romexis environment.
docker-compose.firebird.yml
Firebird service and Firebird-specific Romexis environment.
Das ausgewählte Backend wird geladen über:
DATABASE_BACKEND=mssql
COMPOSE_FILE=docker-compose.yml:docker-compose.${DATABASE_BACKEND}.yml
Persistenter Datenfluss
/srv/romexis-data/
sconfig/
programdata/
romexis_images/
romexis_cache/
romexis_ergodata/
sql-backup/
firebird/
Dieselbe persistente Datenwurzel kann über Neuerstellungen des Servers hinweg verwendet werden. Backend-spezifische Daten verbleiben im ausgewählten Datenbank-Volume oder Host-Verzeichnis.
Admin-Runtime-Architektur
romexis-admin stellt einen grafischen Linux-Container für Romexis Admin / RomexisConfig bereit.
Er startet:
Xvfb
Openbox
xcompmgr
x11vnc
noVNC / websockify
RomexisConfig kann bei Bedarf gestartet werden, wenn sich ein VNC-/noVNC-Client verbindet, und wieder beendet werden, wenn der letzte Client die Verbindung trennt.
Architektur der mRomexis Web App
romexis-app ist ein Tomcat-Image, das Folgendes enthält:
/usr/local/tomcat/webapps/ROOT.war
Die WAR-Datei wird aus der Romexis-Payload kopiert:
/opt/romexis/broker/mromexis-html.war
Diese Datei existiert nur in Romexis 6.5.3 und neuer.
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