Bevor man mit der Installation des IRIS connect Clients beginnen kann, muss die Docker Umgebung installiert werden. Die Art der Installation ist abhängig vom jeweiligen Betriebssystem des Servers.
-
Installation der Docker Engine ist hier beschrieben.
-
Installation von Docker Compose ist hier beschrieben.
-
Installation eines »Windows Subsystem für Linux« (WSL), da die Docker Engine ein unix-artiges Betriebssystem verlangt. Hier beschrieben. Gegenwärtig wurde die Linux-Distribution »Ubuntu 20.04 LTS« erprobt.
-
»Windows Subsystem für Linux« starten. Es gibt dafür eine Desktop-App. Erweitere Rechte (Starten als Admin) sind nicht erforderlich.
-
Installation »Docker Desktop für Windows«, Desktop-Applikation, die alle Werkzeuge (Docker Engine, Docker Compose) mitbringt, um Docker auf Windows zu betreiben. Hier beschrieben
-
»Docker Desktop für Windows« starten - auch OHNE Admin-Rolle möglich.
Wie hier beschrieben, werden für den Betrieb des IRIS Clients verschiedene Zertifikate benötigt. Der Prozess der Ausstellung der Zertifikate unterscheidet sich je nach Umgebung (Staging oder Live).
Bitte folgen Sie dieser Anleitung.
Bitte folgen Sie dieser Anleitung.
Die Releases werden über Github bereitgestellt. Dort finden Sie zudem alle Informationen bezüglich neuer Features und sonstigen Änderungen, die das Release mit sich bringt.
Unterhalb vom Release befinden sich verschiedene Installations-Artefakte (Assets). Für Docker Compose laden Sie sich bitte das Asset deployment-${version}.zip
herunter.
Packen Sie zunächst das Release Archive aus
unzip `deployment-${version}.zip`
Die Struktur des Archives ist wie nachfolgend beschrieben.
.
├── certs
│ ├── eps # Zertifikate für EPS ( IRIS Client BFF ), Private Proxy und EPS ( Private Proxy ).
│ └── nginx # Zertifikat und Schlüssel der internen Web Domain.
├── docs # Die Dokumentation
├── scripts # Hilfs-Skripte für die Zertifikatsbestellung und -verwaltung.
├── docker-compose-ext-postgres.yml # Die Docker Compose Konfiguration mit einer externen Postgres DB.
├── docker-compose.yml # Die Docker Compose Konfiguration mit einer embedded Postgres DB.
└─ .env.sample # Konfigurations-Template
Die Anwendung wird über eine .env
Datei konfiguriert und auf das GA abgestimmt. Eine Beispiel Konfiguration inklusive einer Erklärung der einzelnen Variablen findet man in der beigelegten .env.sample
Datei.
Erstellen Sie eine Kopie von .env.sample
cp .env.sample .env
Passen Sie die Konfiguration auf ihr GA an.
.env öffnen und bearbeiten (siehe nachfolgende Schritte)
Für die Einrichtung der Datenbank gibt es 2 Möglichkeiten. Man kann entweder a) die mitgelieferte Postgres DB benutzen (docker-compose.yml
) oder b) eine eigene Postgres DB betrieben (docker-compose-ext-postgres.yml
).
Für die Variante a) müssen folgende Parameter gesetzt werden.
POSTGRES_USER
POSTGRES_PASSWORD
Bitte wählen Sie ein Password, welches Ihrem internen Sicherheitsstandard entspricht.
Für die Variante b) müssen folgende Parameter gesetzt werden.
POSTGRES_USER
POSTGRES_PASSWORD
POSTGRES_HOST
POSTGRES_DB
Die DB muss vorher von Ihnen angelegt werden. Der User benötigt die Berechtigung, Tabellen zu erstellen und zu ändern. Das Datenbank-Schema wird von der Applikation verwaltet und eventuelle Änderungen werden für Sie transparent migriert.
Der IRIS Client ist eine HTTPS basierte Webanwendung, die unter einer Domain betrieben wird. Diese Domain ist frei wählbar. Sie müssen für Ihre Domain ein validiertes Zertifikat und den entsprechenden Schlüssel konfigurieren.
Das Zertifikat und der Key müssen im Order ./certs/nginx
abgelegt werden.
# Beispiel
.
├── certs
└── nginx
├── iris-ga.crt
└── iris-ga.key
Danach müssen folgende Parameter in der Konfiguration gesetzt werden.
IRIS_CLIENT_DOMAIN=<Ihre Domain>
IRIS_CLIENT_DOMAIN_CERT=iris-ga.crt # Beispiel s.o.
IRIS_CLIENT_DOMAIN_CERT_KEY=iris-ga.key # Beispiel s.o.
Standardmäßig wird das Frontend des IRIS Clients über den HTTPS Standard Port 443 ausgeliefert. Dies kann mit dem folgenden optionalen Parameter angepasst werden.
IRIS_CLIENT_PORT
Wie oben beschrieben erstellt der IRIS Client initial einen Admin Account. Folgende Parameter sind dafür vorgesehen.
SECURITY_AUTH_DB_ADMIN_USER_NAME
SECURITY_AUTH_DB_ADMIN_USER_PASSWORD
Sobald der Account beim ersten Starten angelegt wurde, werden die Parameter ignoriert.
Sie können für Ihre lokalen Benutzer:innen Informationen zum Support bereitstellen. Diese Informationen werden dann im Web-Interface angezeigt (Beispiel hier).
Folgende Parameter müssen dafür gesetzt sein.
LOCAL_CONTACT_PERSON_NAME
LOCAL_CONTACT_PERSON_MAIL
LOCAL_CONTACT_PERSON_PHONE
Standardmäßig wird die Adresse für einen Eintrag in einer Gästeliste beim CSV Export in ein Feld geschrieben. Dieses Verhalten kann konfiguriert werden, so dass der IRIS Client die Adressdaten in 4 Felder aufteilt (Straße, PLZ, Hausnummer, Ort).
Dafür muss das folgende Flag gesetzt werden.
CSV_EXPORT_STANDARD_ATOMIC_ADDRESS="true"
In den meisten GAs werden Verbindungen ins Internet über einen Proxy geleitet. Dafür ist folgender Parameter vorgesehen.
PROXY_URL
Der Proxy Server muss Tunneling über HTTP_CONNECT unterstützen. Weitere Einstellungen bezüglich der Ports und Domains, welche freigegeben werden müssen, finden Sie hier.
Die Logausgaben aller Services werden vom IRIS Client in Dateien persistiert. Standardmäßig wird dafür im aktuellen Verzeichnis ein Order logs
erstellt. Der Pfad dieses Ordners kann über den folgenden optionalen Parameter angepasst werden.
LOG_FOLDER
Bitte nicht mehr konfigurieren. Verwenden Sie stattdessen Einrichtung IRIS Umgebung.
IRIS bietet 2 Umgebungen an (staging und live). Mit diesem Parameter können Sie konfigurieren, zu welcher der beiden Umgebungen sich der IRIS Client verbinden soll. Es gibt 2 vordefinierte Werte für diesen Parameter.
# Staging: IRIS_ENV=staging
# Live: IRIS_ENV=live
IRIS_ENV=
Von dieser Einstellung hängt unter anderen ab, zu welchem Service Directory sich Ihr IRIS Client verbindet und welchem ROOT Zertifikat vertraut wird.
Wie in der Architektur beschrieben, kann der IRIS Client über das Proxy Netzwerk Kontakttagebücher entgegennehmen. Dafür muss ein TLS Zertifikat und dessen privater Schlüssel konfiguriert werden.
Die Domain unterscheidet sich je nach Umgebung.
Für Staging gibt es eine vom IRIS Team zur Verfügung gestellte Domain namens proxy.test-gesundheitsamt.de
.
Für die Live-Umgebung wurde Ihnen die Domain vom Land zentral bereitgestellt. Sie sollten dazu Informationen erhalten haben.
PROXY_SUBDOMAIN=<Ihre zugewiesene Domain>
Kopieren Sie dann das Zertifikat und den privaten Schlüssel in das Verzeichnis ./certs/eps
.
.
├── certs
└── eps
├── <Ihr Zertifikat>
└── <Der dazugehörige private Schlüssel>
Tragen Sie dann die beiden Dateien in die Konfiguration ein.
PROXY_TLS_CERT=<Ihr Zertifikat>
PROXY_TLS_CERT_KEY=<Der dazugehörige private Schlüssel>
Damit der IRIS Client sich im IRIS Netzwerk anmelden und mit anderen Teilnehmern kommunizieren sowie Daten austauschen kann, benötigt man ein IRIS GA Client Zertifikat. Der Prozess dafür ist weiter oben in der Anleitung dokumentiert.
Nach dem man das Zertifikat erhalten hat, muss man es zusammen mit dem Schlüssel im Ordner ./certs/eps
ablegen.
# Beispiel
.
├── certs
│ ├── eps
│ │ ├── ga-client.crt
│ │ └── ga-client.key
Danach muss man die Namen des Zertifikates und dessen Schlüssel in der Konfiguration eintragen. Zudem muss man den Namen konfigurieren, unter dem sich der IRIS Client im Netzwerk anmeldet. Der Name ist derselbe wie der CN Name aus dem Zertifikats-Prozess.
EPS_OP=${CN aus dem Zertifikat}
EPS_CLIENT_CERT=ga-client.crt # Beispiel s.o.
EPS_CLIENT_CERT_KEY=ga-client.key # Beispiel s.o.
Damit der IRIS Client wie in der Architektur beschrieben eingehende Verbindungen über das IRIS Proxy Netzwerk erlauben kann, benötigt man ein Proxy Client Zertifikat. Der Prozess dafür ist weiter oben in der Anleitung dokumentiert.
Nach dem man das Zertifikat erhalten hat, muss man es zusammen mit dem Schlüssel im Ordner ./certs/eps
ablegen.
Für die Live Umgebung sind das Zertifikat und der Schlüssel für den
IRIS Private Proxy
die gleichen wie für denIRIS Client BFF
.Es unterscheidet sich der Parameter
PROXY_OP
. Dieser Wert muss auf den 2. SAN Eintrag gesetzt werden (eps-proxy.<Ihr zugewiesene Domain>).
# Beispiel
.
├── certs
│ └── eps
│ ├── ga-client-proxy.crt
│ └── ga-client-proxy.key
Danach muss man die Namen des Zertifikates und dessen Schlüssel in der Konfiguration eintragen. Zudem muss man den Namen konfigurieren, unter dem sich der IRIS Client im Netzwerk anmeldet. Der Name ist derselbe wie der CN Name aus dem Zertifikats-Prozess.
PROXY_OP=${CN oder ein SAN Eintrag}
PROXY_CLIENT_CERT=ga-client-proxy.crt
PROXY_CLIENT_CERT_KEY=ga-client-proxy.key
-
IRIS Client mit Docker Compose und interner Postgres starten.
docker-compose up -d
-
IRIS Client mit Docker Compose und externer Postgres starten.
docker-compose -f docker-compose-ext-postgres.yml up -d
-
Überprüfen, ob alle Services laufen
# embedded Postgres docker-compose ps # external Postgres docker-compose -f docker-compose-ext-postgres.yml ps
-
Die Logfiles aller Services einsehen
# embedded Postgres docker-compose logs -f # external Postgres docker-compose -f docker-compose-ext-postgres.yml logs -f
-
Die Logfiles eines bestimmten Services einsehen
# embedded Postgres docker-compose logs -f nginx # external Postgres docker-compose -f docker-compose-ext-postgres.yml logs -f nginx
-
Überprüfen, ob der Webserver eine gültige Antwort liefert
curl -k -v https://{IRIS_CLIENT_DOMAIN}
Weitere Erläuterungen zu den einzelnen Parametern finden Sie in der .env.sample
Datei.