CEIR-OS Bedienungsanleitung
0.1.0 - ci-build
Germany
CEIR-OS Bedienungsanleitung - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Diese Seite beschreibt die Installation und Ersteinrichtung von CEIR-OS.
| Komponente | Mindestanforderung |
|---|---|
| Docker | Version 24+ mit Docker Compose v2 |
| RAM | Mindestens 8 GB (empfohlen: 16 GB) |
| Festplatte | Mindestens 20 GB frei (SNOMED CT Index + Modelle) |
| Betriebssystem | Linux, macOS oder Windows mit WSL2 |
git clone https://github.com/BIH-CEI/ceir-os.git
cd ceir-os
cp .env.example .env
Öffne die .env-Datei und passe folgende Pfade an:
| Variable | Beschreibung | Beispiel |
|---|---|---|
SNOMED_PACKAGE_PATH |
Pfad zur SNOMED CT ZIP-Datei (wird direkt gemountet) | /home/user/terminologies/snomed.zip |
CERTS_PATH |
Verzeichnis mit mTLS-Zertifikaten | ./certs |
LOINC_PATH |
Pfad zur LOINC-Distribution | /home/user/terminologies/Loinc_2.81 |
ZOTERO_PATH |
Pfad zum Zotero Comfort Quellcode | ../../zotero_comfort/mayor/rig |
ASKMII_PATH |
Pfad zum AskMII Quellcode | ../AskMIIAnything |
Das SNOMED CT RF2-Paket wird teaminternen bereitgestellt.
SNOMED_PACKAGE_PATH ein — die Datei wird direkt als Volume gemountetFür den Zugriff auf ICD-10-GM, OPS und ATC über den MII OntoServer benötigst du mTLS-Zertifikate. Es gibt zwei Optionen:
Lokal: Volume-Mount (Standard)
Zertifikatsdateien werden zur Laufzeit als Read-Only-Volume in den Container gemountet — sie sind nie im Image enthalten.
mkdir -p certs
# Lege folgende Dateien ab:
# certs/client.pem - Client-Zertifikat
# certs/client.key - Privater Schlüssel
# certs/root-ca.pem - Root CA
# certs/intermediate.pem - Intermediate CA
Die CERT_PASSPHRASE ist teaminternen Kanälen zu entnehmen und in der .env-Datei einzutragen.
CI/CD: Base64-Umgebungsvariablen
In CI/CD-Pipelines (z.B. GitHub Actions) können die Zertifikate stattdessen als Base64-kodierte Umgebungsvariablen übergeben werden. Der Container dekodiert sie beim Start.
# Zertifikate kodieren (einmalig)
base64 -i client.pem | tr -d '\n'
Die kodierten Werte werden als Secrets hinterlegt und über Umgebungsvariablen übergeben:
CERT_CLIENT_PEM_B64CERT_CLIENT_KEY_B64CERT_ROOT_CA_B64CERT_INTERMEDIATE_B64Hinweis: Zertifikate sind in keinem Fall im Docker-Image enthalten. Lokal werden sie per Volume gemountet, in CI/CD per Umgebungsvariable injiziert.
Loinc_2.81)LOINC_PATH einDie LOINC-Daten werden für deutsche Labels, Panel-Informationen und Answer Lists verwendet.
Wenn du die Zotero-Literaturverwaltung nutzen möchtest:
.env ein:
ZOTERO_GROUP_API_KEY - für die Gruppen-BibliothekZOTERO_PERSONAL_API_KEY - für die persönliche Bibliothek (optional)docker compose up -d
Beim ersten Start passiert automatisch:
sct_files-Volumeqwen2.5:7b herunterPrüfe den Status aller Container:
docker compose ps
Führe den integrierten Doctor-Service aus, um alle Services, DNS-Auflösung und funktionale Routen zu prüfen:
docker compose run --rm doctor
Der Doctor prüft DNS-Auflösung, Snowstorm FHIR-Endpunkte, SNOMED-Routing durch den Terminology Proxy, LOINC deutsche Labels und Panel-Index sowie alle Health-Endpunkte. Bei Problemen zeigt er genau an, welcher Check fehlschlägt.
Alternativ für einzelne Services:
# Snowstorm
curl -s http://localhost:8090/fhir/metadata | jq .software
# Terminology MCP
curl -s http://localhost:3002/health | jq .
# MCP Bridge
curl -s http://localhost:8000/health | jq .
Je nach Größe des SNOMED-Pakets muss der Elasticsearch-Speicher angepasst werden:
| Paketgröße | ES_JAVA_OPTS |
|---|---|
| Klein (< 500 MB) | -Xms1g -Xmx1g |
| Mittel (500 MB - 2 GB) | -Xms2g -Xmx2g |
| Groß (> 2 GB) | -Xms4g -Xmx4g |
Setze den Wert in der .env-Datei:
ES_JAVA_OPTS="-Xms2g -Xmx2g"