Private
Public Access
Reference README.de hinzugefügt
@@ -0,0 +1,595 @@
|
|||||||
|
# Romexis Docker
|
||||||
|
|
||||||
|
[English](README.md) | [Deutsch](README.de.md) | [Build-Prozess](BUILD.de.md) | [Entwicklerdokumentation](DEVELOPERS.md) | []
|
||||||
|
|
||||||
|
> Containerisierte Ausführung von Planmeca Romexis Server 6.5 unter Linux mit Docker, Microsoft SQL Server und einem wiederverwendbaren Multiarch-Romexis-Basisimage.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Überblick
|
||||||
|
|
||||||
|
Dieses Projekt baut und betreibt den Planmeca Romexis Server in Docker.
|
||||||
|
|
||||||
|
Der Build-Prozess extrahiert die benötigten Romexis-Serverdateien direkt aus dem offiziellen Romexis-Windows-Installer. Im Repository werden keine Romexis-Programmbinaries gespeichert.
|
||||||
|
|
||||||
|
Der aktuelle Build ist in Payload-, Base- und Server-Image-Schichten aufgeteilt:
|
||||||
|
|
||||||
|
1. **Romexis Base Image**
|
||||||
|
- Stellt Java 11 mit JavaFX-Unterstützung bereit.
|
||||||
|
- Enthält Microsoft SQL Server Kommandozeilenwerkzeuge.
|
||||||
|
- Enthält Firebird-Clientbibliotheken.
|
||||||
|
- Wird separat für `amd64` und `arm64` gebaut.
|
||||||
|
|
||||||
|
2. **Romexis Server Image**
|
||||||
|
- Baut auf dem Romexis Base Image auf.
|
||||||
|
- Lädt und extrahiert den ausgewählten Romexis-Installer.
|
||||||
|
- Erstellt die finale `/opt/romexis`-Verzeichnisstruktur.
|
||||||
|
- Fügt Java Property Agent, Laufzeitskripte und Datenbankinitialisierung hinzu.
|
||||||
|
|
||||||
|
Diese Trennung reduziert Duplikate, vereinfacht die Wartung und erlaubt die Wiederverwendung des Laufzeit-Basisimages für unterschiedliche Romexis-Versionen.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- Romexis Server 6.5 in Docker
|
||||||
|
- Microsoft SQL Server 2022 Unterstützung
|
||||||
|
- Automatische Datenbankinitialisierung
|
||||||
|
- Persistente Speicherung aller Nutzdaten
|
||||||
|
- Automatische Vorbereitung von KeyVault und ProgramData
|
||||||
|
- Unterstützung vorhandener Datenbank-Volumes
|
||||||
|
- Multi-Stage Docker Build
|
||||||
|
- Multiarch-Image-Publishing für `amd64` und `arm64`
|
||||||
|
- Dediziertes wiederverwendbares Romexis Base Image
|
||||||
|
- Mapping-basierte Installer-Extraktion über `romexis-copy-map.tsv`
|
||||||
|
- Selektive InstallShield-CAB-Extraktion
|
||||||
|
- Romexis-Installerversionen werden über `romexis-versions.env` verwaltet
|
||||||
|
- Keine Windows Registry erforderlich
|
||||||
|
- Kein RomexisConfig-Aufruf erforderlich
|
||||||
|
- Linux-kompatible Laufzeitpfade
|
||||||
|
- Java-Property-Injection über `RomexisPropertyAgent`
|
||||||
|
- CI/CD Build-Unterstützung über Drone
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Architektur
|
||||||
|
|
||||||
|
```text
|
||||||
|
+----------------------+
|
||||||
|
| Romexis Clients |
|
||||||
|
+----------+-----------+
|
||||||
|
|
|
||||||
|
| RMI / Romexis-Protokollports
|
||||||
|
v
|
||||||
|
+----------------------+
|
||||||
|
| Romexis Server |
|
||||||
|
| Docker |
|
||||||
|
+----------+-----------+
|
||||||
|
|
|
||||||
|
| JDBC
|
||||||
|
v
|
||||||
|
+----------------------+
|
||||||
|
| Microsoft SQL Server |
|
||||||
|
| Docker |
|
||||||
|
+----------------------+
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Unterstützte Plattformen
|
||||||
|
|
||||||
|
Der Build-Prozess unterstützt folgende Zielarchitekturen:
|
||||||
|
|
||||||
|
| Architektur | Docker-Plattform | Tag-Suffix |
|
||||||
|
|------------|------------------|------------|
|
||||||
|
| x86_64 | `linux/amd64` | `-amd64` |
|
||||||
|
| ARM64 | `linux/arm64` | `-arm64` |
|
||||||
|
|
||||||
|
Die Drone-Pipeline erstellt architekturspezifische Images und veröffentlicht anschließend ein Multiarch-Manifest ohne Architektur-Suffix.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Voraussetzungen
|
||||||
|
|
||||||
|
### Laufzeithost
|
||||||
|
|
||||||
|
- Linux-Host
|
||||||
|
- Docker Engine
|
||||||
|
- Docker Compose Plugin
|
||||||
|
- Netzwerkverbindung zwischen Romexis-Clients und den veröffentlichten RMI-Ports
|
||||||
|
|
||||||
|
### Build-Host
|
||||||
|
|
||||||
|
- Docker Engine mit BuildKit-Unterstützung
|
||||||
|
- Docker Buildx
|
||||||
|
- Docker Compose Plugin
|
||||||
|
- Zugriff auf die Romexis-Installer-Download-URLs aus `romexis-payload/romexis-versions.env`
|
||||||
|
- Zugriff auf die konfigurierte Container-Registry
|
||||||
|
- Ausreichend Speicherplatz für Installer-Extraktion und Docker-Build-Cache
|
||||||
|
|
||||||
|
### Empfohlene Ressourcen
|
||||||
|
|
||||||
|
- 8 GB RAM
|
||||||
|
- 4 CPU-Kerne
|
||||||
|
- 20 GB freier Speicherplatz für den Betrieb
|
||||||
|
- Zusätzlicher freier Speicherplatz auf Build-Hosts für Build-Cache und extrahierte Installerdateien
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Container Images
|
||||||
|
|
||||||
|
Die Images werden in der Gitea Container Registry des Projekts veröffentlicht.
|
||||||
|
|
||||||
|
### Image-Struktur
|
||||||
|
|
||||||
|
```text
|
||||||
|
gitea.buchhorster.de/patrick/romexis-base-jre:11-amd64
|
||||||
|
gitea.buchhorster.de/patrick/romexis-base-jre:11-arm64
|
||||||
|
|
||||||
|
gitea.buchhorster.de/patrick/romexis-server:<version>-amd64
|
||||||
|
gitea.buchhorster.de/patrick/romexis-server:<version>-arm64
|
||||||
|
gitea.buchhorster.de/patrick/romexis-server:<version>
|
||||||
|
```
|
||||||
|
|
||||||
|
Die architekturspezifischen Tags werden für das Multiarch-Manifest verwendet.
|
||||||
|
|
||||||
|
### Beispiel-Pull
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker pull gitea.buchhorster.de/patrick/romexis-server:6.5.3.444.203
|
||||||
|
```
|
||||||
|
|
||||||
|
### Installierte Romexis-Version prüfen
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker run --rm \
|
||||||
|
--entrypoint cat \
|
||||||
|
gitea.buchhorster.de/patrick/romexis-server:6.5.3.444.203 \
|
||||||
|
/opt/romexis/version
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Versionsverwaltung
|
||||||
|
|
||||||
|
Die Datei `romexis-payload/romexis-versions.env` ordnet unterstützte Romexis-Versionen den offiziellen Installer-URLs zu.
|
||||||
|
|
||||||
|
Beispiel:
|
||||||
|
|
||||||
|
```text
|
||||||
|
6_5_3_444_203=https://content.planmeca.com/files/Planmeca_Romexis_6.5.3.444.203_Win.zip
|
||||||
|
6_5_2_189_213=https://content.planmeca.com/files/Planmeca_Romexis_6.5.2.189.213_Win.zip
|
||||||
|
```
|
||||||
|
|
||||||
|
Das Build-Argument `ROMEXIS_VERSION` kann eine vollständige Version oder ein Präfix enthalten.
|
||||||
|
|
||||||
|
Beispiel:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ROMEXIS_VERSION=6.5.3
|
||||||
|
```
|
||||||
|
|
||||||
|
Der Build löst dies zur neuesten passenden Version auf, zum Beispiel:
|
||||||
|
|
||||||
|
```text
|
||||||
|
6.5.3.444.203
|
||||||
|
```
|
||||||
|
|
||||||
|
Die aufgelöste Version wird im Image gespeichert:
|
||||||
|
|
||||||
|
```text
|
||||||
|
/opt/romexis/version
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Projektstruktur
|
||||||
|
|
||||||
|
```text
|
||||||
|
.
|
||||||
|
├── docker-compose.yml
|
||||||
|
├── docker-compose.build.yml
|
||||||
|
├── README.md
|
||||||
|
├── README.de.md
|
||||||
|
├── BUILD.md
|
||||||
|
├── BUILD.de.md
|
||||||
|
├── DEVELOPERS.md
|
||||||
|
│
|
||||||
|
├── romexis-base
|
||||||
|
│ └── Dockerfile
|
||||||
|
│
|
||||||
|
├── romexis
|
||||||
|
│ ├── Dockerfile
|
||||||
|
│ ├── entrypoint.sh
|
||||||
|
│ ├── fix-keystore-alias.sh
|
||||||
|
│ ├── init-romexis-db.sh
|
||||||
|
│ ├── RomexisPropertyAgent.java
|
||||||
|
│ ├──
|
||||||
|
│
|
||||||
|
└── data
|
||||||
|
├── programdata
|
||||||
|
├── sconfig
|
||||||
|
├── romexis_images
|
||||||
|
├── romexis_cache
|
||||||
|
└── romexis_ergodata
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Betrieb mit fertigen Images
|
||||||
|
|
||||||
|
Für den normalen Betrieb wird `docker-compose.yml` verwendet.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ROMEXIS_VERSION=6.5.3.444.203 docker compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
Logs anzeigen:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose logs -f
|
||||||
|
```
|
||||||
|
|
||||||
|
Nur Romexis:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose logs -f romexis
|
||||||
|
```
|
||||||
|
|
||||||
|
Nur SQL Server:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose logs -f mssql
|
||||||
|
```
|
||||||
|
|
||||||
|
Umgebung stoppen:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose down
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Lokaler Build mit Docker Compose
|
||||||
|
|
||||||
|
Für lokale Builds wird `docker-compose.build.yml` verwendet.
|
||||||
|
|
||||||
|
Das Base Image muss vor dem Romexis Server Image gebaut werden, da das Server-Dockerfile das Basisimage über das Build-Argument `ROMEXIS_BASE_IMAGE` verwendet.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
TARGETARCH=amd64 docker compose -f docker-compose.build.yml --profile build build romexis-base
|
||||||
|
TARGETARCH=amd64 ROMEXIS_VERSION=6.5.3 docker compose -f docker-compose.build.yml build romexis
|
||||||
|
TARGETARCH=amd64 ROMEXIS_VERSION=6.5.3 docker compose -f docker-compose.build.yml up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
Für einen ARM64-Build-Host:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
TARGETARCH=arm64 docker compose -f docker-compose.build.yml --profile build build romexis-base
|
||||||
|
TARGETARCH=arm64 ROMEXIS_VERSION=6.5.3 docker compose -f docker-compose.build.yml build romexis
|
||||||
|
```
|
||||||
|
|
||||||
|
Weitere Details stehen in [BUILD.de.md](BUILD.de.md).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Aktueller Architekturstand
|
||||||
|
|
||||||
|
Das Projekt verwendet inzwischen drei Build-Schichten statt nur Base- und Server-Image:
|
||||||
|
|
||||||
|
1. **Romexis Payload Image**
|
||||||
|
- wird aus `romexis-payload/Dockerfile` gebaut
|
||||||
|
- lädt und extrahiert den offiziellen Romexis-Installer
|
||||||
|
- enthält `/opt/romexis` und `/opt/romexis-mssql-db`
|
||||||
|
- ist architekturunabhängig und wird als `romexis-payload:<version>` getaggt
|
||||||
|
|
||||||
|
2. **Romexis Base Image**
|
||||||
|
- wird aus `romexis-base/Dockerfile` gebaut
|
||||||
|
- enthält Java, JavaFX, SQL-Tools und gemeinsame Runtime-Bibliotheken
|
||||||
|
- ist architekturspezifisch
|
||||||
|
|
||||||
|
3. **Romexis Server Image**
|
||||||
|
- wird aus `romexis/Dockerfile` gebaut
|
||||||
|
- verwendet Payload Image und Base Image
|
||||||
|
- ergänzt Chilkat, Java Property Agent, Laufzeitskripte und Startlogik
|
||||||
|
|
||||||
|
Durch das Payload Image müssen Installer-ZIP und CAB-Dateien nicht bei jedem Server-Build erneut heruntergeladen und extrahiert werden.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Migration Service
|
||||||
|
|
||||||
|
Das Repository enthält jetzt einen Romexis Migration Service und einen Windows Migration Client.
|
||||||
|
|
||||||
|
Der Migration Service stellt bereit:
|
||||||
|
|
||||||
|
- Web UI und REST API für Migrationsjobs
|
||||||
|
- temporäre SFTP-Zugangsdaten pro Job
|
||||||
|
- Datenbankbackup-Upload über den Browser
|
||||||
|
- automatische serverseitige `manifest.json`-Erzeugung
|
||||||
|
- SQL Server Datenbank-Restore
|
||||||
|
- Upload-Validierung
|
||||||
|
- Datei-Restore-Workflow
|
||||||
|
- Abbruch und Bereinigung von Migrationen
|
||||||
|
- Abschluss einer Migration mit Entfernung des SFTP-Zugangs
|
||||||
|
- koordinierten Romexis-Neustart über eine gemeinsame State-Datei
|
||||||
|
|
||||||
|
Unterstützte Migrationswege:
|
||||||
|
|
||||||
|
1. **Windows Migration Client**
|
||||||
|
- erkennt Romexis-Installation, SQL-Server-Konfiguration und Datenverzeichnisse
|
||||||
|
- erstellt oder nutzt ein Datenbankbackup
|
||||||
|
- lädt Daten per rclone/SFTP hoch
|
||||||
|
- kommuniziert mit der Migration Service API
|
||||||
|
|
||||||
|
2. **Manueller Browser- und SFTP-Workflow**
|
||||||
|
- Migrationsjob im Web UI erstellen
|
||||||
|
- Datenbankbackup über den Browser hochladen
|
||||||
|
- Manifest vom Server erzeugen lassen
|
||||||
|
- `romexis_images`, `romexis_ergodata` und optional `romexis_cache` per SFTP hochladen
|
||||||
|
- validieren, wiederherstellen und Migration abschließen
|
||||||
|
|
||||||
|
Der Romexis-Neustart nach dem Restore wird über folgende Datei koordiniert:
|
||||||
|
|
||||||
|
```text
|
||||||
|
/data/romexis_images/.romexis_restart_state
|
||||||
|
```
|
||||||
|
|
||||||
|
Der Migration Service schreibt die Neustartanforderung, der Romexis-Entrypoint führt den Neustart aus und schreibt den finalen Status zurück.
|
||||||
|
|
||||||
|
|
||||||
|
## Persistente Datenverzeichnisse
|
||||||
|
|
||||||
|
### sconfig
|
||||||
|
|
||||||
|
Gemountet nach:
|
||||||
|
|
||||||
|
```text
|
||||||
|
/opt/romexis/sconfig
|
||||||
|
```
|
||||||
|
|
||||||
|
Enthält persistente Romexis-Serverkonfiguration.
|
||||||
|
|
||||||
|
### programdata
|
||||||
|
|
||||||
|
Gemountet nach:
|
||||||
|
|
||||||
|
```text
|
||||||
|
/programdata/Planmeca/Romexis
|
||||||
|
```
|
||||||
|
|
||||||
|
Entspricht dem Windows-Pfad `%ProgramData%\Planmeca\Romexis` und enthält KeyVault sowie sicherheitsrelevante Dateien.
|
||||||
|
|
||||||
|
### romexis_images
|
||||||
|
|
||||||
|
Gemountet nach:
|
||||||
|
|
||||||
|
```text
|
||||||
|
/data/romexis_images
|
||||||
|
```
|
||||||
|
|
||||||
|
Speichert Patientenbilder.
|
||||||
|
|
||||||
|
### romexis_cache
|
||||||
|
|
||||||
|
Gemountet nach:
|
||||||
|
|
||||||
|
```text
|
||||||
|
/data/romexis_cache
|
||||||
|
```
|
||||||
|
|
||||||
|
Speichert Cache-Daten.
|
||||||
|
|
||||||
|
### romexis_ergodata
|
||||||
|
|
||||||
|
Gemountet nach:
|
||||||
|
|
||||||
|
```text
|
||||||
|
/data/romexis_ergodata
|
||||||
|
```
|
||||||
|
|
||||||
|
Speichert Ergo- und Zusatzdaten.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Datenbankinitialisierung
|
||||||
|
|
||||||
|
Beim ersten Start:
|
||||||
|
|
||||||
|
1. SQL Server startet.
|
||||||
|
2. Romexis wartet, bis SQL Server als erreichbar gilt.
|
||||||
|
3. Die Datenbank `Romexis_db` wird erstellt, falls sie fehlt.
|
||||||
|
4. Der Datenbankbenutzer `romexis` wird erstellt, falls er fehlt.
|
||||||
|
5. Romexis-Schema- und Update-Skripte werden importiert.
|
||||||
|
6. Linux-Datenpfade werden in die Datenbank geschrieben.
|
||||||
|
|
||||||
|
Die Initialisierung wird übersprungen, wenn Datenbank und Romexis-Benutzer bereits existieren.
|
||||||
|
|
||||||
|
Deaktivieren:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
ROMEXIS_INIT_DB: "0"
|
||||||
|
```
|
||||||
|
|
||||||
|
Ausführliche SQL-Ausgabe:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
DB_CREATE_VERBOSE: "true"
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## KeyVault und ProgramData
|
||||||
|
|
||||||
|
Romexis erwartet einen Windows-ähnlichen `ProgramData`-Pfad. Der Entrypoint setzt:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ProgramData=/programdata
|
||||||
|
```
|
||||||
|
|
||||||
|
Der KeyVault-Pfad wird in `romexis_server.properties` geschrieben:
|
||||||
|
|
||||||
|
```properties
|
||||||
|
SERVER_KEYVAULT_PATH=/programdata/Planmeca/Romexis/sconfig
|
||||||
|
```
|
||||||
|
|
||||||
|
Der Entrypoint initialisiert fehlende Schlüsseldateien aus den im Image enthaltenen Defaults:
|
||||||
|
|
||||||
|
- `static_keys_default.p12` -> `static_keys.p12`
|
||||||
|
- `initial_keyvault.p12` -> `keyvault.p12`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## RomexisConfig
|
||||||
|
|
||||||
|
`RomexisConfig` wird absichtlich nicht ausgeführt.
|
||||||
|
|
||||||
|
In einem Linux-Container kann RomexisConfig versuchen, über Advapi32/JNA auf Windows-Registry-Funktionen zuzugreifen. Die notwendigen Aufgaben übernimmt stattdessen der Docker-Entrypoint.
|
||||||
|
|
||||||
|
Ersetzte Aufgaben:
|
||||||
|
|
||||||
|
- KeyVault-Vorbereitung
|
||||||
|
- ProgramData-Handling
|
||||||
|
- Datenbankkonfiguration
|
||||||
|
- Linux-Pfadkonfiguration
|
||||||
|
- Runtime-Property-Injection
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Erweiterte Konfiguration
|
||||||
|
|
||||||
|
### Datenbank-URL
|
||||||
|
|
||||||
|
Standardmäßig erzeugt der Entrypoint:
|
||||||
|
|
||||||
|
```text
|
||||||
|
jdbc:sqlserver://<host>:<port>;databaseName=<database>;encrypt=true;trustServerCertificate=true;
|
||||||
|
```
|
||||||
|
|
||||||
|
Eine vollständige JDBC-URL kann explizit gesetzt werden:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
ROMEXIS_DB_URL: "jdbc:sqlserver://mssql:1433;databaseName=Romexis_db;encrypt=true;trustServerCertificate=true;"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Datenbank-Backend
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
SERVER_DB: "5"
|
||||||
|
```
|
||||||
|
|
||||||
|
Wert `5` steht für Microsoft SQL Server.
|
||||||
|
|
||||||
|
### RMI Host und Ports
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
SERVER_RMI_HOSTNAME: "192.168.65.177"
|
||||||
|
SERVER_RMI_LOW_PORT: "1100"
|
||||||
|
SERVER_RMI_HIGH_PORT: "1120"
|
||||||
|
```
|
||||||
|
|
||||||
|
`SERVER_RMI_HOSTNAME` muss für Romexis-Clients erreichbar sein.
|
||||||
|
|
||||||
|
### Property Agent
|
||||||
|
|
||||||
|
Der Java Property Agent kann Romexis `RxProperties` über Umgebungsvariablen setzen.
|
||||||
|
|
||||||
|
Syntax:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
PROPERTY_AGENT_SET_<RXPROPERTY_NAME>: "<Wert>"
|
||||||
|
```
|
||||||
|
|
||||||
|
Standardverhalten:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
PROPERTY_AGENT_SET_KEY_B_KEYVAULT_PWD_LOCATION_SERVER_PROPERTIES: "true"
|
||||||
|
```
|
||||||
|
|
||||||
|
Diese Einstellung ist für zuverlässiges KeyVault-Handling unter Docker/Linux erforderlich.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Troubleshooting
|
||||||
|
|
||||||
|
### SQL Server prüfen
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose logs mssql
|
||||||
|
```
|
||||||
|
|
||||||
|
### Romexis prüfen
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose logs romexis
|
||||||
|
```
|
||||||
|
|
||||||
|
### SQL-Server-Verbindung testen
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker exec -it romexis-mssql \
|
||||||
|
/opt/mssql-tools18/bin/sqlcmd \
|
||||||
|
-C \
|
||||||
|
-S localhost \
|
||||||
|
-U sa \
|
||||||
|
-P 'Pwr0mex!s!!!' \
|
||||||
|
-Q "SELECT 1"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Aufgelöste Romexis-Version prüfen
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker exec -it romexis-server cat /opt/romexis/version
|
||||||
|
```
|
||||||
|
|
||||||
|
### Keystore-Alias-Probleme
|
||||||
|
|
||||||
|
Falls Romexis meldet:
|
||||||
|
|
||||||
|
```text
|
||||||
|
Failed to get keystore entry by alias:
|
||||||
|
server_certificate_...
|
||||||
|
```
|
||||||
|
|
||||||
|
ausführen:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker exec -it romexis-server /opt/fix-keystore-alias.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Bekannte Einschränkungen
|
||||||
|
|
||||||
|
- Nur Serverbetrieb wurde getestet.
|
||||||
|
- `RomexisConfig` wird im Container nicht unterstützt.
|
||||||
|
- Microsoft SQL Server ist das primär unterstützte Datenbank-Backend.
|
||||||
|
- Firebird-Clientbibliotheken sind im Base Image enthalten, die aktuelle Compose-Laufzeitumgebung fokussiert SQL Server.
|
||||||
|
- Multiarch-Images werden vom Build-Prozess unterstützt; die funktionale Validierung hängt von Plattform und verfügbaren Romexis-Komponenten ab.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Lizenz
|
||||||
|
|
||||||
|
### Romexis
|
||||||
|
|
||||||
|
Planmeca Romexis ist proprietäre Software.
|
||||||
|
|
||||||
|
Dieses Repository enthält keine Romexis-Programmdateien. Der offizielle Installer wird während des Builds anhand von `romexis-versions.env` heruntergeladen.
|
||||||
|
|
||||||
|
### Chilkat
|
||||||
|
|
||||||
|
Dieses Projekt nutzt die von Romexis benötigte Chilkat-Bibliothek. Sie wird während des Builds passend zur Zielarchitektur heruntergeladen.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Haftungsausschluss
|
||||||
|
|
||||||
|
Dieses Projekt steht in keiner Verbindung zu Planmeca Oy.
|
||||||
|
|
||||||
|
Die Nutzung erfolgt auf eigene Verantwortung.
|
||||||
|
|
||||||
|
Vor dem produktiven Einsatz werden vollständige Backups und Tests dringend empfohlen.
|
||||||
Reference in New Issue
Block a user