Zum Inhalt

Betrieb der charly VM

Der Betrieb der charly VM erfolgt nach der Installation.

Umstieg von charly-vm.ps1

Falls Sie bisher das Skript charly-vm.ps1 verwendet haben, navigieren sie an den Ort an dem charly-vm.ps1 hinterlegt wurde (standardmässig ist es der Solutio Ordner).

An diesem Ort rufen Sie bitte folgendes Kommando in einer Administrator PowerShell auf:

.\charly-vm.ps1 charly-server-install
Dadurch wird charly-server installiert und charly-vm.ps1 entfernt. Sie können dann von jedem beliebigen Pfad aus in der Powershell
charly-server vm status
aufrufen. Bitte verwenden Sie ab sofort nur noch charly-server für den Betrieb der VM, wie es hier im Folgenden beschrieben wird.

DefaultValue Fehler

Beim Umstieg von charly-vm.ps1 auf charly-server kann es zu einem "DefaultValue" Fehler kommen (Direkt unter WizTreeFunctions). Dieser Fehler ist nicht kritisch und wird in einem der nächsten Updates behoben.

Backup und Restore der Datenbank

Die Funktionen zum Backup und Restore der charly VM werden in der separaten Dokumentation Backup und Wiederherstellung ausführlich beschrieben.

Update des Servers

Wenn eine neue Version der charly Services verfügbar ist, kann diese manuell installiert werden.

WICHTIG

Alle charly-Clients sollten beendet werden, bevor das Update durchgeführt wird.

Führen Sie dazu folgendes Kommando aus:

Windows Administrator Powershell:

charly-server vm update

Während des Updates wird ein Backup der Datenbank und der Solutio Ablage und der internen Server-Konfiguration erstellt. Das Update kann einige Zeit in Anspruch nehmen

Netzwerk-Diagnose

Um Netzwerkprobleme zu diagnostizieren oder die Konfiguration zu validieren, können Sie den integrierten Netzwerk-Test verwenden:

Windows Administrator Powershell:

charly-server vm test-network

Getestete Komponenten

Dieser Befehl testet automatisch:

  • Netzwerk-Konfiguration: IP-Adresse, Gateway und DNS-Server
  • Grundlegende Konnektivität: Erreichbarkeit von Gateway, DNS und Internet
  • TI-Routing: RU/PU-Routen und TI-Endpunkte
  • Konnektor-Verbindungen: Konnektivität zu konfigurierten Konnektoren
  • KIM-Verbindungen: POP3/SMTP-Endpoints für KIM-Dienste

Ausgabe-Bereiche

Die Ausgabe ist strukturiert aufgebaut und zeigt:

  • Netzwerk-Konfiguration: IP, Gateway, DNS
  • Verbindungstests: Gateway, DNS, Internet
  • TI-Routing: RU/PU Routen, TI-Endpunkte
  • Konnektor-Verbindungen: Status und Details
  • KIM-Verbindungen: POP3/SMTP Status
  • Gesamtstatus: Erfolg oder Probleme

Anwendungsfälle

  • Nach Netzwerk-Änderungen: Validierung neuer IP-Konfigurationen
  • Bei Verbindungsproblemen: Schnelle Diagnose von TI- oder KIM-Ausfällen
  • Nach Konnektor-Konfiguration: Überprüfung der TI-Routing-Einrichtung
  • Regelmäßige Überprüfung: Sicherstellung der ordnungsgemäßen Funktion

Tipp

Verwenden Sie charly-server vm test-network nach Netzwerk-Änderungen oder bei Verbindungsproblemen zur schnellen Diagnose.

Logs sammeln

Mit dem get-logs Befehl können Sie alle relevanten Protokolldateien Ihrer VM-Installation automatisch sammeln - sowohl vom Windows-Host als auch von der Linux-VM.

Windows Administrator Powershell:

# Logs auf Desktop sammeln (Host + VM)
charly-server vm get-logs

# Logs in benutzerdefiniertem Ordner sammeln
charly-server vm get-logs -ExportPath "C:\Support"

Wann zu verwenden

  • Vor Support-Kontakt zur umfassenden Fehleranalyse
  • Nach Updates bei Problemen
  • Bei VM-spezifischen Fehlern (Ansible, Backup, VPN)
  • Zur Dokumentation von Host- und VM-Zuständen

Was wird gesammelt

Der Befehl sammelt Logs von beiden Systemen:

Windows Host: - charly-Server Logs aus %ProgramData%\charly-server\logs - PostgreSQL Logs (letzte 14 Tage)

Linux VM: - Ansible Logs (Update- und Konfigurationsprotokolle, letzte 7 Tage) - Backup-Logs (/var/log/charly_backup.log) - Solutio Service Logs - VPN-Logs (OpenVPN/WireGuard) - System-Logs (Samba, APT, Cloud-Init)

Alle Logs werden in ein einziges 7z-Archiv kombiniert (z.B. charly-logs-vm-20241114-153045.7z) und auf dem Desktop gespeichert.

Ablauf

  1. Host-Logs sammeln
  2. VM kontaktieren via SSH
  3. VM-Logs sammeln und via SCP herunterladen
  4. Host- und VM-Logs kombinieren
  5. 7z-Archiv erstellen
  6. Temporäre Dateien aufräumen

TIPP

  • Bei VM-Verbindungsproblemen werden zumindest die Host-Logs gesammelt
  • Das Archiv enthält keine Patientendaten
  • Automatische Bereinigung auf Host und VM

WICHTIG

Stellen Sie sicher, dass die VM läuft und erreichbar ist. Prüfen Sie vorab mit charly-server vm status.

System-Check

Für eine umfassende Systemdiagnose steht der check-system Befehl zur Verfügung:

Windows Administrator Powershell:

charly-server vm check-system

Gepruefte Komponenten

Der System-Check untersucht nun erweiterte Systemkomponenten:

Laufwerks-Status

  • charly-files: Prueft ob das Ablage-Laufwerk gemountet ist
  • charly-data: Prueft ob das Datenbank-Laufwerk gemountet ist
  • Zeigt Groesse, Verwendung und verfuegbaren Speicherplatz

SMB Server

  • Prueft ob der SMB-Dienst (smbd) in der VM laeuft
  • Validiert Port 445 Verfuegbarkeit
  • Wichtig fuer Netzwerkfreigaben (charly-ablage)

Datenbank-Verbindung

  • VM-seitig: Prueft Container-Status und Port-Verfuegbarkeit
  • Host-seitig: Testet tatsaechliche Datenbankverbindung vom Windows-Host zur VM
  • Erkennt Verbindungsprobleme fruehzeitig

Hinweis

Der System-Check hilft bei der Diagnose von Infrastrukturproblemen und sollte regelmaessig ausgefuehrt werden.

Konnektor-Konfiguration

Die Konnektor-IP-Adresse kann über das set-connector Kommando konfiguriert werden. Diese Funktion richtet das TI-Routing (Telematikinfrastruktur) für die charly VM ein und stellt die Verbindung zu den TI-Diensten sicher.

Windows Administrator Powershell:

charly-server vm set-connector

Funktionsweise

Der set-connector Befehl unterstützt zwei Modi:

1. Automatische Erkennung (empfohlen)

charly-server vm set-connector

Ablauf:

  • Liest alle konfigurierten Konnektoren aus der charly-Datenbank
  • Testet die LDAP-Konnektivität (Port 389/636) für jeden Konnektor
  • Wählt automatisch den ersten erreichbaren Konnektor aus

2. Manuelle Konfiguration

charly-server vm set-connector -IP 192.168.1.50

Ablauf:

  • Prüft die Erreichbarkeit der angegebenen IP-Adresse
  • Warnt, wenn die IP nicht in der Datenbank konfiguriert ist

3. VPN-Routing (erweiterte Konfiguration)

charly-server vm set-connector -IP 192.168.1.50 -Via 10.0.0.1

Ablauf:

  • Konfiguriert die Konnektor-IP wie bei manueller Konfiguration
  • Fügt zusätzlich eine spezielle Route zum Konnektor über das angegebene Gateway hinzu
  • Nützlich bei VPN-Verbindungen oder speziellen Netzwerk-Setups

Nach erfolgreicher Konfiguration

Das System führt automatisch folgende Schritte durch:

  • TI-Routing einrichten:
  • RU-Route: 10.30.0.0/15 via Konnektor-IP
  • PU-Route: 100.102.0.0/15 via Konnektor-IP
  • Validierung: Testet die konfigurierten Routen und TI-Endpunkte

Hinweise

  • Die automatische Erkennung benötigt konfigurierte Konnektoren in charly
  • Bei manueller Konfiguration muss der Konnektor per Ping erreichbar sein
  • Nach der Konfiguration sollten die TI-Dienste über den Konnektor erreichbar sein (z.B. erp.zentral.erp.splitdns.ti-dienste.de)

Tipp

Verwenden Sie charly-server vm test-network nach der Konnektor-Konfiguration, um die TI-Verbindung zu validieren.

Konnektortausch

Wenn ein Konnektor in der Praxis ausgetauscht wird, sind mehrere Schritte erforderlich, um die TI-Verbindung ordnungsgemäß zu konfigurieren:

1. Neuen Konnektor in charly einrichten

Zunächst muss der neue Konnektor in charly konfiguriert werden. Eine detaillierte Anleitung finden Sie in der charly-Hilfe unter:

Konnektor erstellen und konfigurieren

Folgen Sie der How-To-Zusammenfassung -> "Konnektor erstellen und konfigurieren".

2. Automatische Konnektor-Konfiguration

Nach der Einrichtung in charly können Sie versuchen, den Konnektor automatisch zu konfigurieren:

charly-server vm set-connector

Diese automatische Konfiguration funktioniert, wenn das Netzwerk so eingerichtet ist, dass das Standard-Gateway das Routing zum Konnektor übernimmt (in der Regel wenn der Konnektor im selben Subnetz ist).

3. Manuelle Konfiguration für Rechenzentrum-Konnektoren

Wenn Sie wissen, dass der Konnektor über einen eigenen Router erreicht wird (insbesondere bei Rechenzentrum-Konnektoren), verwenden Sie:

charly-server vm set-connector -IP <connector_ip> -Via <router_ip>

Beispiel:

charly-server vm set-connector -IP 192.168.1.50 -Via 10.0.0.1

4. KIM Client Modul anpassen

WICHTIGER Hinweis

Ein Konnektortausch erfordert keine Änderung der KIM-Konfiguration in charly. Es wird jedoch eine Anpassung im KIM Client Modul notwendig, damit das KIM Client Modul über den neuen Konnektor kommuniziert.

Der Systembetreuer muss sicherstellen, dass das KIM Client Modul den neuen Konnektor verwendet und auch erreichen kann. Diese Verbindung liegt außerhalb der Verantwortung von charly-server, aber Kunden melden sich oft im solutio Support, wenn KIM nicht funktioniert, auch wenn es eigentlich an der Kommunikation KIM Client Modul + Konnektor liegt.

5. Funktionsprüfung

Nach dem Konnektortausch sollten folgende Tests durchgeführt werden:

  1. Netzwerk-Test durchführen:

    charly-server vm test-network
    
    Dieser Test überprüft, ob alle Routen gesetzt sind, der Konnektor erreicht wird und das KIM Client Modul erreichbar ist.

  2. TI-Monitor prüfen: Überprüfen Sie im TI-Monitor, ob der Konnektor und die gesteckten Karten gefunden werden.

  3. eRezept-Test: Erstellen Sie ein eRezept, um zu testen, ob die TI-Services über den neuen Konnektor erreicht werden können.

  4. KIM-Test: Senden Sie eine KIM-Testmail an sich selbst, um die KIM-Funktionalität zu überprüfen.

Hinweis

Diese Schritte stellen sicher, dass sowohl die TI-Verbindung als auch die KIM-Kommunikation nach dem Konnektortausch ordnungsgemäß funktionieren.

IP-Konfiguration

Die IP-Konfiguration der charly VM kann über das ip-config Kommando angepasst werden. Diese Funktion ermöglicht es, die Netzwerk-Einstellungen der VM zu ändern, einschließlich IP-Adresse, Gateway und DNS-Server.

Windows Administrator Powershell:

charly-server vm ip-config

Funktionsweise

Das IP-Konfigurations-Tool führt einen zweistufigen Prozess durch:

  1. Konfigurationsvalidierung: Überprüft die eingegebenen Netzwerk-Einstellungen auf Gültigkeit und Kompatibilität
  2. Test-Phase: Wendet die neue Konfiguration temporär an und testet die Verbindung automatisch
  3. Dauerhafte Anwendung: Nur nach erfolgreichem Test wird die Konfiguration dauerhaft gespeichert

Test-Phase mit automatischer Rollback-Funktion

Die neue Test-Funktionalität reduziert das Risiko bei Netzwerk-Änderungen:

  • Gateway-Konnektivität: Testet die Erreichbarkeit des neuen Gateways
  • DNS-Auflösung: Prüft die Funktionsfähigkeit der DNS-Server
  • Teilweise Änderungen: Ermöglicht das Ändern einzelner Komponenten (z.B. nur Gateway oder DNS)
  • Automatisches Rollback: Bei fehlgeschlagenen Tests wird automatisch zur ursprünglichen Konfiguration zurückgekehrt

Unterstützte Konfigurationen

  • Statische IP-Konfiguration: Manuelle Eingabe von IP-Adresse, Gateway, Netzmaske und DNS-Server
  • DHCP-Konfiguration: Automatischer Bezug der IP-Adresse vom DHCP-Server

WICHTIG

Auch mit der Test-Funktion kann das Ändern der IP-Konfiguration dazu führen, dass die VM nicht mehr erreichbar ist. Es wird dringend empfohlen, vor der Konfigurationsänderung ein Backup zu erstellen.

Tipp

Verwenden Sie charly-server vm test-network nach IP-Änderungen, um die neue Konfiguration zu validieren.

Funktionen des charly-server vm Skripts

Wenn das Skript direkt ohne Parameter ausgeführt wird, erscheint eine Liste möglicher Parameter. Um eine bestehende Installation in der VM zu steuern, sind der Parameter "vm" und seine Unterparameter zu verwenden:

Parameter Beschreibung
update Aktualisiert eine bestehende VM. Siehe Update der Service
status Gibt Auskunft über den Zustand der VM; unter Anderem die IP Adresse und den Zustand der Docker Container
start Startet die VM, sofern sie noch nicht gestartet ist
stop Stoppt die VM, sofern sie gestartet ist
restart Führt einen Neustart der VM durch
docker-restart Führt einen Neustart der Docker Container durch. Dies kann hilfreich sein, sollten nicht alle Docker-Container korrekt funktionieren
docker-rebuild Entfernt und erstellt alle Docker Container neu. Dies ist eine gründlichere Operation als docker-restart
backup-list Zeigt eine Liste aller verfügbaren Backups an. Siehe Backup und Wiederherstellung
backup Führt ein manuelles Backup durch. Siehe Backup und Wiederherstellung
backup-iso Erstellt ein Backup und generiert eine ISO-Datei. Diese kann für eine Neuinstallation verwendet werden
backup-config Konfiguriert die Backup-Einstellungen. Siehe Backup und Wiederherstellung
restore Stellt das neueste Backup wieder her. Siehe Backup und Wiederherstellung
restore <timestamp> Stellt ein bestimmtes Backup wieder her. Siehe Backup und Wiederherstellung
restore-database Stellt nur die Datenbank aus dem neuesten Backup wieder her
restore-database <timestamp> Stellt nur die Datenbank aus einem bestimmten Backup wieder her
ssh Login in die VM. Es sollte der Prompt charly@charly:~$ erscheinen. Dies ist typischerweise nur für die technische Administration der VM notwendig
reset-ssh Setzt den SSH-Schlüssel für die VM zurück. Nützlich, wenn der SSH-Schlüssel verloren gegangen oder beschädigt ist
service <ServiceName> <Action> Führt eine Aktion für einen bestimmten Service in der charly-VM aus (nicht Solutio Service - Siehe folgende Zeile). Gültige Aktionen: start, stop, restart, up, down, pull, logs, ps
solutio-service <Action> Steuert den Solutio Service (start, stop, restart, logs, status, errorlogs). Siehe Solutio Service
set-memory-limit <service> <memory> Ändert das Speicherlimit für einen Docker-Container. Beispiel: charly-server vm set-memory-limit QUERY 2048M
test-network Testet die Netzwerkkonnektivität der VM einschließlich Gateway, DNS, Internet, TI-Routing, Konnektoren und KIM-Verbindungen
ip-config Konfiguriert die Netzwerk-Einstellungen der VM (IP-Adresse, Gateway, DNS). Siehe IP-Konfiguration
set-connector [-IP <IP>] [-Via <Gateway>] Konfiguriert die Konnektor-IP-Adresse und richtet TI-Routing ein. Unterstützt VPN-Routing mit -Via Parameter. Siehe Konnektor-Konfiguration
change-password [ssh postgres
config Zeigt die aktuelle VM-Konfiguration an
uninstall Deinstalliert die VM

SSH-Zugriff und Sicherheit

Für das korrekte Funktionieren des charly-vm Skriptes nach einer Installation ist ein SSH Schlüssel notwendig welcher nur für den Benutzeraccount zugänglich ist, unter dem die Installation durchgeführt wurde. Der SSH-Schlüssel wird im .ssh-Verzeichnis im Stammverzeichnis des jeweiligen Benutzerkontos gespeichert.

  • Bewahren Sie den SSH-Schlüssel sicher auf.
  • Bei einem Wechsel des Administrators muss der neue Administrator Zugriff auf den SSH-Schlüssel erhalten.
  • Sollte der SSH-Schlüssel verloren gehen, können Sie den Befehl charly-server vm reset-ssh verwenden, um den Zugriff wiederherzustellen. Hierfür benötigen Sie den Master-SSH-Schlüssel und das Passwort.
  • Wenn Sie keinen Zugriff auf den Master-SSH-Schlüssel haben, ist ein Eingriff des solutio-Supports mittels Online Termin erforderlich.
  • Um Ausfallzeiten zu vermeiden, planen Sie den Administratorwechsel sorgfältig und stellen Sie sicher, dass der SSH-Schlüssel ordnungsgemäß übergeben wird.

Admin Web-Interface

Die charly VM bietet ein Web-Interface mit verschiedenen Funktionen an. Geben Sie dafür einfach die IP Adresse der charly VM in einen Browser ein.

Die IP Adresse kann ermitteln werden, indem in einem Terminal folgendes ausgeführt wird:

Windows Administrator Powershell:

charly-server vm status

Das Admin Web-Interface bietet folgende Funktionalitäten:

Name Beschreibung
Status Zeigt den Status der Services und weitere Systeminformationen an
Logfiles Zeigt den Status der Docker Container und deren Logfiles an
PGAdmin PGAdmin ist ein Admin Web-Interface der PostgreSQL Datenbank
Downloads Es werden verschiedene Dateien zum Download angeboten. Hauptsächlich handelt es sich um Skripte zum Installieren des charly-Clients

Im Bereich Logfiles und PGAdmin muss eine Anmeldung erfolgen. Verwenden Sie die Administrator eMail und das Administrator Passwort, die Sie bei der Installation angegeben haben.

charly-config

Um eine Lizenz für eine Online Terminvergabe (OTV) zu hinterlegen oder Java-Services speziell zu konfigurieren, können spezifische Dateien in einem charly-config Samba-Share angelegt werden.

Verbinden des Samba-Share "charly-config"

  1. Öffnen Sie den Windows-Explorer (Sie können die Tastenkombination Windows + E verwenden).
  2. Klicken Sie in die Adressleiste am oberen Rand des Explorers.
  3. Geben Sie den Pfad des Samba-Shares in die Adressleiste, die von charly-server vm status angegeben wird. Ein Dialogfenster zur Anmeldung sollte nun erscheinen.
  4. Geben Sie als Name smbadminuser und das Administrator-Passwort ein, das Sie bei der Installation vergeben haben. Wählen Sie "Anmeldeinformationen speichern", damit sich Windows die Anmeldeinformationen für zukünftige Verbindungen merkt.
  5. Nach erfolgreicher Authentifizierung wird Ihnen der Inhalt des "charly-config" Samba-Shares angezeigt.
  6. Um das Laufwerk dauerhaft zu verbinden, klicken Sie mit der rechten Maustaste auf das Share und wählen Sie "Netzlaufwerk verbinden...".
  7. Wählen Sie einen Laufwerksbuchstaben aus, zum Beispiel "S:". Stellen Sie sicher, dass das Kästchen "Verbindung bei Anmeldung wiederherstellen" angehakt ist.
  8. Klicken Sie auf "Fertig stellen".

OTV

Dr. Flex

Bei der Installation des Online-Terminvergabesystems (OTV, Dr. Flex) führen Sie folgende zusätzliche Schritte durch:

Bearbeiten Sie auf dem Smb-Share charly-config (Siehe oben) die Datei docker.conf. Fügen sie ein:

DR_FLEX_AUTH_TOKEN=Platzhalter-Token

Hinweise

Stellen Sie sicher, dass Sie den Platzhalter-Token durch den korrekten kundenspezifischen Token ersetzen.

Danach führen Sie eine Aktualisierung der Docker-Container mittels aus:

charly-server vm docker-rebuild

Diese Schritte sollten die Dr. Flex OTV-Installation abschließen und den Dr. Flex Container starten.

conf2 - Java Service Konfiguration

Im Samba-Share "charly-config" gibt es einen Ordner "conf2", über den Sie spezifische Konfigurationen für einzelne Java-Services oder global für alle Services hinterlegen können. Diese Anleitung beschreibt, wie Sie Konfigurationsdateien erstellen und bearbeiten.

Ordnerstruktur

Die conf2-Struktur ermöglicht zwei Arten von Konfigurationen:

\\<VM-IP>\charly-config\conf2\
├── _global\              # Globale Konfiguration für alle Services
│   └── application.yml   # Standardkonfiguration (wird überschrieben)
├── auth\                 # Service-spezifische Konfiguration
│   └── application.yml   # Überschreibt _global für auth
├── ehealth-gateway\      # Service-spezifische Konfiguration
│   └── application.yml   # Überschreibt _global für ehealth-gateway
├── gateway\
│   └── application.yml
└── query\
    └── application.yml

Verfügbare Service-Namen: auth, ehealth-gateway, gateway, query, und weitere Java-Services

Konfigurationspriorität

Service-spezifische Konfigurationen (ehealth-gateway\application.yml) überschreiben globale Konfigurationen (_global\application.yml).

Voraussetzungen

Bevor Sie Konfigurationsdateien erstellen oder bearbeiten:

  • Samba-Share verbunden: Siehe Abschnitt "Verbinden des Samba-Share 'charly-config'" oben
  • Administrator-Zugang: Sie benötigen smbadminuser mit dem Admin-Passwort
  • Backup empfohlen: Erstellen Sie vor Änderungen eine Kopie bestehender Konfigurationsdateien

Service-spezifische Konfiguration erstellen

Folgen Sie diesen Schritten, um eine service-spezifische application.yml zu erstellen:

  1. Öffnen Sie den Windows-Explorer und navigieren Sie zum verbundenen Samba-Share:

    \\<VM-IP>\charly-config\conf2
    
    (Ersetzen Sie <VM-IP> durch die IP-Adresse aus charly-server vm status)

  2. Erstellen Sie einen neuen Ordner mit dem exakten Namen des Services (z.B. ehealth-gateway)

    WICHTIG

    Der Ordnername muss exakt dem Service-Namen entsprechen (Groß-/Kleinschreibung beachten!)

  3. Öffnen Sie den neu erstellten Ordner (z.B. ehealth-gateway)

  4. Erstellen Sie eine neue Textdatei mit dem Namen application.yml

    • Rechtsklick im Ordner → "Neu" → "Textdokument"
    • Benennen Sie die Datei in application.yml um
    • Stellen Sie sicher, dass die Datei wirklich .yml endet (nicht .yml.txt)
  5. Bearbeiten Sie die Datei mit einem Texteditor Ihrer Wahl:

    • Notepad++ (empfohlen für YAML)
    • Visual Studio Code (empfohlen für YAML)
    • Windows Notepad (einfachste Option)
  6. Fügen Sie die gewünschte Konfiguration ein. Beispiel für Log-Level Erhöhung:

    logging:
      level:
        de.solutio: DEBUG
    

    YAML-Syntax

    • Achten Sie auf korrekte Einrückung (2 Leerzeichen pro Ebene, keine Tabs!)
    • Nach dem Doppelpunkt muss ein Leerzeichen folgen: key: value
    • Strings mit Sonderzeichen in Anführungszeichen setzen
  7. Speichern Sie die Datei mit UTF-8 Kodierung

    • In Notepad++: "Kodierung" → "UTF-8"
    • In VS Code: Unten rechts auf "UTF-8" achten
    • In Windows Notepad: Beim Speichern "Kodierung: UTF-8" wählen
    • Windows-spezifischer Pfad für globale Konfiguration: \\<VM-IP>\charly-config\conf2\_global

Globale Konfiguration (_global)

Um eine Konfiguration für alle Java-Services zu setzen, navigieren Sie zum _global Ordner im conf2-Verzeichnis, erstellen oder bearbeiten Sie die Datei application.yml und fügen Sie die gewünschte Konfiguration hinzu.

Wann _global verwenden?

  • Für systemweite Einstellungen (z.B. Log-Level, Zeitzone)
  • Als Standard-Fallback für alle Services
  • Beachten: Service-spezifische Konfigurationen haben Vorrang!

Konfiguration anwenden

Nach dem Erstellen oder Bearbeiten einer application.yml müssen die Änderungen angewendet werden:

Option 1: VM Update (empfohlen, sicherste Methode)

charly-server vm update

Option 2: Docker-Container Neustart (schneller, weniger gründlich)

charly-server vm docker-restart

Produktive Umgebung

Während des Updates/Neustarts ist der CharlyServer nicht verfügbar. Planen Sie ein Wartungsfenster!

Häufige Fehler und Lösungen

Problem Ursache Lösung
Konfiguration wird nicht geladen Dateiname falsch (z.B. .yml.txt) Dateiendung prüfen, korrekt als .yml speichern
Service startet nicht YAML-Syntax-Fehler YAML-Syntax prüfen (Einrückung, Doppelpunkte)
"Zugriff verweigert" beim Speichern Falsche Anmeldedaten Als smbadminuser mit Admin-Passwort anmelden
Änderungen werden nicht übernommen Kein Neustart durchgeführt charly-server vm update ausführen
Falscher Service-Ordner Tippfehler im Ordnernamen Ordnername muss exakt mit Service-Namen übereinstimmen

Best Practices

Empfehlungen

  • Immer Backup erstellen vor Änderungen an bestehenden Konfigurationen
  • Test-Umgebung nutzen für neue Konfigurationen, bevor Sie diese produktiv einsetzen
  • YAML-Validator verwenden (z.B. yamllint.com) vor dem Speichern
  • Dokumentation pflegen: Notieren Sie sich, welche Konfigurationen Sie warum geändert haben
  • Minimale Konfiguration: Nur die notwendigen Properties überschreiben, nicht die gesamte Konfiguration duplizieren
  • Service-Namen genau prüfen: Bei Unsicherheit mit charly-server vm status die verfügbaren Services anzeigen lassen

Time-Server für eHealth-Gateway konfigurieren

Erstellen Sie eine application.yml im ehealth-gateway Service-Ordner:

de.solutio.ncjs.ehealth.infrastructure.time-sync-addresses: 192.168.172.1

Nach dem Speichern wenden Sie die Konfiguration mit charly-server vm update an.

charly Termine App aktivieren

Die charly Termine App synchronisiert Termine über WebDAV mit externen Kalendern.

Minimale Konfiguration (vorausgesetzt Sie haben bereits: Mandant-ID, WebDAV-URL, Benutzername und Passwort):

Erstellen Sie eine application.yml im gateway Service-Ordner:

de.solutio.termine:
  enabled: true
  instances:
    meinkalender:
      enabled: true
      tenant: 1
      webdav:
        server: https://webdav.example.com/calendars/
        username: kalender-user
        password: kalender-passwort

Nach dem Speichern wenden Sie die Konfiguration mit charly-server vm update an.

Mehrere Kalender

Sie können mehrere Instanzen definieren, indem Sie zusätzliche Blöcke unter instances hinzufügen (z.B. meinkalender, kalender2, usw.). Jede Instanz kann einen eigenen Mandanten und WebDAV-Server haben.

Erweiterte Optionen: Content-Filter, Blacklist/Whitelist, Synchronisations-Intervall und weitere Details finden Sie in der offiziellen Termine-App Dokumentation.

Weitere Beispiele

Beispiel: Datenbank-Verbindungspool konfigurieren

spring:
  datasource:
    hikari:
      maximum-pool-size: 20
      minimum-idle: 5

Beispiel: Globale Zeitzone setzen (_global)

spring:
  jackson:
    time-zone: Europe/Berlin
Version: 2.8.7

Datum der letzten Aktualisierung: 19.11.2025

Troubleshooting

Speicherlimits für Docker-Container

Sie können das Speicherlimit für einen einzelnen Service direkt über die Kommandozeile ändern:

charly-server vm set-memory-limit <SERVICE> <MEMORY>

Beispiel:

charly-server vm set-memory-limit QUERY 2048M

Dies ändert das Speicherlimit für den QUERY-Service auf 2048 MB und startet den Service automatisch neu, damit die Änderung wirksam wird.

Um eine Liste der verfügbaren Services und ihrer aktuellen Memory Limits zu sehen, führen Sie status Befehl aus:

charly-server vm status

Keine Verbindung per SSH in die VM möglich

Wenn per SSH nicht mehr in die VM eingeloggt werden kann, sind zu viele Schlüssel im SSH-Agent hinterlegt, die nicht für diese VM verwendet werden.

Received disconnect from 192.168.2.198 port 22:2: Too many authentication failures
Disconnected from 192.168.2.198 port 22

Lösung hierfür:

Befehl Beschreibung
ssh-add -l Zeigt alle Schlüssel an
ssh-add -D Löscht alle hinterlegten Schlüssel
ssh-add -d \<key> Löscht einen einzelnen Schlüssel aus der Liste

SSH-Schlüssel verloren oder beschädigt

Wenn der SSH-Schlüssel verloren gegangen oder beschädigt ist, können Sie ihn mit dem folgenden Befehl zurücksetzen:

charly-server vm reset-ssh

Sie werden aufgefordert, den Master-SSH-Schlüssel und das Passwort einzugeben. Wenn Sie keinen Zugriff auf den Master-SSH-Schlüssel haben, wenden Sie sich an den solutio-Support.

SSH-Verbindung schlägt bei Verwendung von PowerShell ISE fehl

Verwenden Sie bei der Installation der VM die klassische PowerShell anstelle von PowerShell ISE. Die SSH-Schlüsselfunktionalität funktioniert möglicherweise nicht korrekt mit PowerShell ISE.

Es kann nicht auf charly-config zugegriffen werden

Problem: Wenn die Ablage bereits gemountet ist, kann nicht mehr zusätzlich auf charly-config zugegriffen werden, da Windows nur einen SMB Zugang pro Server gleichzeitig erlaubt.

Lösung hierfür:

cmd:

net use \\Server-IP /delete
Der "normale" SMB Zugang wurde entfernt, nun kann per smbadminuser verbunden werden. Danach mit dem Befehl im cmd den gespeicherten Zugang wieder entfernen und per charly-Starter normal mounten.

Docker-Container funktionieren nicht korrekt

Wenn Docker-Container nicht korrekt funktionieren, können Sie folgende Befehle verwenden:

  1. Neustart der Docker-Container:

    charly-server vm docker-restart
    

  2. Wenn der Neustart nicht hilft, können Sie die Docker-Container neu erstellen:

    charly-server vm docker-rebuild
    

  3. Um den Status eines bestimmten Services zu überprüfen:

    charly-server vm service <ServiceName> ps
    

  4. Um die Logs eines bestimmten Services anzuzeigen:

    charly-server vm service <ServiceName> logs
    

VM-Konfiguration anzeigen

Um die aktuelle Konfiguration der VM anzuzeigen:

charly-server vm config

Dies kann bei der Fehlerbehebung hilfreich sein, um zu überprüfen, ob alle Pfade und Einstellungen korrekt sind.

Passwort-Management

Es gibt einige Passwörter für die VM, die geändert werden können. Die Änderung sollte nur außerhalb der Praxis-Öffnungszeiten durchgeführt werden.

Passwort Beschreibung
SSH Key Die Passphrase des SSH Schlüssels womit sich charly-server mit der VM verbindet
Postgres Passwort für die Postgres Datenbank
VM Admin Passwort für das Anmelden im PgAdmin und den Logfile Bereich der Admin Webseite und für das charly-config SMB Share.
SMB Passwort für das charly-ablage SMB Share

WICHTIG

Wenn mehrere Passwörter geändert werden, sollte nach jeder einzelnen Änderung getestet werden!

Neues Passwort-Management (empfohlen)

Seit Version 2.5.0 steht ein neues, vereinfachtes Passwort-Management zur Verfügung:

Windows Administrator Powershell:

charly-server vm change-password

Dieses Kommando bietet folgende Vorteile:

  • Interaktive Auswahl: Ohne Parameter wird ein Menü angezeigt
  • Direkte Passwort-Typen: ssh, postgres, admin, smb
  • Automatische Synchronisation: Neue Passwörter werden in configVM.json gespeichert

Verfügbare Passwort-Typen

charly-server vm change-password ssh      # SSH-Schlüssel Passphrase
charly-server vm change-password postgres # PostgreSQL Datenbankpasswort
charly-server vm change-password admin    # VM Administrator Passwort
charly-server vm change-password smb      # SMB-Share Passwort

Besonderheiten beim SSH-Schlüssel

Bei der SSH-Schlüssel Passphrase wird ein zweistufiger Prozess verwendet:

  1. Eingabe der neuen Passphrase: Das aktuelle Passwort wird als Standardwert angezeigt
  2. Interaktive Änderung: ssh-keygen wird interaktiv ausgeführt
  3. Synchronisation: Die neue Passphrase wird in configVM.json gespeichert

Nach der Passwort-Änderung

Nach der Änderung bestimmter Passwörter sind zusätzliche Schritte erforderlich:

SSH-Schlüssel Passphrase

  • Keine weiteren Schritte erforderlich: Die Änderung wird automatisch bei der nächsten Verwendung wirksam
  • Optional: Testen Sie die Verbindung mit charly-server vm status

PostgreSQL Passwort

  • Clients neu starten: Alle charly-Clients müssen neu gestartet werden
  • Die Clients erhalten automatisch das neue Passwort beim nächsten Start

VM Administrator Passwort

  • Webinterface: Verwenden Sie das neue Passwort für PgAdmin und Logfile-Bereich
  • SMB charly-config: Verwenden Sie das neue Passwort für das charly-config SMB-Share

SMB-Share Passwort

WICHTIG - Client-Neuinstallation erforderlich

Nach der Änderung des SMB-Passworts müssen alle charly-Clients auf allen Arbeitsplätzen neu heruntergeladen und installiert werden!

Erforderliche Schritte auf jedem Windows-Arbeitsplatz:

  1. Netzlaufwerk trennen: Trennen Sie das Netzlaufwerk zur Ablage (typischerweise S:)
  2. Client herunterladen: Laden Sie charly-client-win.zip über das Webinterface herunter
  3. Dateien extrahieren: Entpacken Sie die vier Dateien (charly.exe, config.txt, install-next.ps1, Netzwerk-ping.ps1')
  4. Dateien überschreiben: Kopieren Sie alle vier Dateien an den Ort, an dem aktuell charly.exe liegt und überschreiben Sie die vorhandenen Dateien

Grund: Der charly-Client speichert die SMB-Anmeldedaten lokal in der config.txt. Diese können nur durch das Überschreiben der Konfigurationsdateien aktualisiert werden.

Tipp

Planen Sie SMB-Passwort-Änderungen außerhalb der Arbeitszeiten und informieren Sie alle Benutzer über die erforderliche Client-Neuinstallation.

Solutio Service

Der Solutio Service läuft nicht als Container sondern wird direkt in der Linux VM gestartet. Darum kann er nicht wie andere Docker container gestartet oder gestoppt werden.

Befehle

Statt dessen stehen für den solutio service die folgenden Befehle zur Verfügung:

Befehl Beschreibung
charly-server vm solutio-service start Startet den Solutio Service
charly-server vm solutio-service stop Stoppt den Solutio Service
charly-server vm solutio-service restart Startet den Solutio Service neu
charly-server vm solutio-service logs Zeigt die Logs des Solutio Service an
charly-server vm solutio-service status Zeigt den Status des Solutio Service an
charly-server vm solutio-service errorlogs Zeigt die Error Logs des Solutio Service an

Version: 2.8.9

Datum der letzten Aktualisierung: 20.11.2025