Clone
4
Romexis Admin
Patrick Gniza edited this page 2026-08-22 15:46:50 +02:00

Deutsch | English

Romexis Admin

The romexis-admin service provides browser-based access to Romexis Admin / RomexisConfig.

It is separated from the Romexis server container so the server process can stay focused on the backend runtime while administrative configuration is handled through a dedicated graphical container.


Runtime Components

The Admin container starts the graphical runtime environment with:

Xvfb
Openbox
xcompmgr
x11vnc
noVNC / websockify

Openbox and xcompmgr are required because Romexis Admin uses Swing/AWT dialogs with opacity and translucency features.

The Openbox root desktop context menu is disabled in the startup script, because it is not useful in the noVNC runtime.

Shared GUI Runtime

romexis-admin no longer installs the complete Java/X11/noVNC/native stack itself. These architecture-specific dependencies are provided by romexis-gui-runtime:1-<arch>, which is also used by romexis-client.

The final Admin image only adds the version-specific Admin payload, materializes the shared runtime artifacts in the Admin directory and adds the Admin startup/test scripts. Admin and Client are independent final images and neither inherits from the other.



Access

Open the Admin UI through noVNC:

http://localhost:6080/vnc.html?host=localhost&port=6080&autoconnect=true

If ADMIN_NOVNC_PORT is changed, adjust the port accordingly.


VNC Lifecycle Mode

When enabled, RomexisConfig is started only when a VNC/noVNC client connects.

ADMIN_VNC_LIFECYCLE=true

Behavior:

first VNC client connects -> start RomexisConfig
last VNC client disconnects -> stop RomexisConfig after a short grace period

If the user closes RomexisConfig manually while the VNC session is still connected, it is not restarted until the next VNC connection session.

When disabled:

ADMIN_VNC_LIFECYCLE=false

RomexisConfig starts immediately with the container.


Localized Splash Screen

In VNC lifecycle mode, a small splash screen is shown when the VNC session starts and RomexisConfig is launching.

The language is controlled through:

ADMIN_LANGUAGE=de

Supported values:

de
en

The same variable is passed to RomexisConfig as the language= startup parameter.


Debug xterm

A debug xterm can be started inside the VNC session:

DEBUG_XTERM=true

Default:

DEBUG_XTERM=false

This is useful for inspecting the runtime display environment without changing the container entrypoint.


Typical Compose Settings

ADMIN_NOVNC_PORT=6080
ADMIN_VNC_PORT=5900
ADMIN_VNC_PASSWORD=promax
ADMIN_RESOLUTION=1280x900x24
ADMIN_JAVA_OPTS=-Xms256m -Xmx1024m
ADMIN_LANGUAGE=de
DEBUG_XTERM=false
ADMIN_VNC_LIFECYCLE=true
ENABLE_PROPERTY_AGENT=true

PropertyAgent in Admin

The Romexis PropertyAgent is enabled by default for the Admin container:

ENABLE_PROPERTY_AGENT=true

The agent sets the Linux-specific Admin service INI path and supplies the RomexisOptionPaneUI null guard required for reliable operation on Java 17. The guard prevents a Swing lifecycle NullPointerException when a PropertyChange event reaches the Planmeca listener before m_MessageArea has been initialized. The server-specific RxCr2 replacement remains disabled in Admin through ROMEXIS_AGENT_RXCR2_PATCH=false.

The patch is enabled by default inside the agent. It can be disabled only for a controlled comparison with:

ROMEXIS_AGENT_OPTIONPANE_PATCH=false

Logs and Debugging

Show logs:

docker compose logs -f romexis-admin

Open a shell in the Admin image:

docker compose run --rm --entrypoint /bin/bash romexis-admin

If a stopped container has to be inspected:

docker cp romexis-admin:/opt/romexis/admin ./admin-debug

Important Runtime Dependencies

The Admin image requires packages such as:

xvfb
openbox
xcompmgr
x11vnc
x11-utils
novnc
websockify
openjfx
libopenjfx-java
libopenjfx-jni

x11-utils provides xmessage, which is used for the splash screen.