IRIS Installation (Docker): Unterschied zwischen den Versionen

Aus Wiki - Heidler Strichcode GmbH
Zur Navigation springen Zur Suche springen
 
(10 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
[[en:IRIS installation (Docker)]]
 
== Hinweise ==
 
== Hinweise ==
  
 
=== IRIS Version ===
 
=== IRIS Version ===
Im folgenden Text finden Sie viele Befehle, die die aktuelle Version von [[IRIS]] enthalten.
+
Im folgenden Text finden Sie viele Befehle, die die aktuelle Version von [[IRIS Cloudsystem|IRIS]] enthalten.
  
 
Bitte ersetzen Sie die Version durch die jeweils verfügbare aktuellste Version von IRIS.
 
Bitte ersetzen Sie die Version durch die jeweils verfügbare aktuellste Version von IRIS.
Zeile 10: Zeile 11:
 
  docker load -i iris-1.X.X.tar.gz
 
  docker load -i iris-1.X.X.tar.gz
 
zu
 
zu
  docker load -i iris-1.0.8.tar.gz
+
  docker load -i iris-1.0.18.tar.gz
 
bzw. die jeweils aktuellste Version
 
bzw. die jeweils aktuellste Version
  
Zeile 44: Zeile 45:
  
 
  docker volume create hsc-config
 
  docker volume create hsc-config
 
docker network create hsc-network
 
  
 
=== Container aus Image erstellen ===
 
=== Container aus Image erstellen ===
  docker create --name iris --network bridge --hostname iris --publish 127.0.0.1:8080:443 --volume hsc-db:/var/lib/mysql --volume hsc-config:/etc/heidler --restart unless-stopped iris:1.X.X
+
  docker create --name iris --hostname iris --network bridge --publish 80:80 --publish 443:443 --volume hsc-db:/var/lib/mysql --volume hsc-config:/etc/heidler --restart unless-stopped iris:1.X.X
 
 
=== Netzwerk verbinden ===
 
docker network connect hsc-network iris
 
  
 
=== Container starten ===
 
=== Container starten ===
Zeile 58: Zeile 54:
 
=== Logs des Containers prüfen ===
 
=== Logs des Containers prüfen ===
 
  docker logs iris
 
  docker logs iris
 +
In den Logs sollte ein Eintrag erscheinen, der so ähnlich lautet:<syntaxhighlight lang="text" line="1" start="1">
 +
2023-02-08 17:22:38.926 -08 WARN  [main] (init.ServiceInitializer:166) - A new user has been created.:
 +
Username: root@localhost
 +
Password: P6oV-GK3GYsdnn_5usDg1tBmn00
 +
Please login with this user and change your password immediately!
 +
</syntaxhighlight>Bitte notieren Sie sich diesen Benutzer + Passwort umgehend.
  
=== Reverse Proxy konfigurieren ===
+
Sollte dieser Eintrag nicht erscheinen, warten Sie einen Moment und führen Sie den Befehl "docker logs iris" erneut aus.
Es muss ein bereits mit HTTPS konfigurierter Reverse Proxy eingerichtet sein.
 
  
Wir können den SSL-Config Generator von Mozilla hierfür empfehlen: https://ssl-config.mozilla.org/
+
=== Option 1: Eigenes SSL Zertifikat konfigurieren ===
 +
Im Standard wird der Docker Container einen HTTPS Server mit selbst signiertem Zertifikat veröffentlichen.
  
 +
Das muss noch durch ein öffentliches, durch eine anerkannte Zertifizierungsstelle ausgestelltes, Zertifikat ersetzt werden.
  
 +
Sie benötigen hierzu folgende Dateien:
 +
{| class="wikitable"
 +
|+
 +
!Datei
 +
!Format
 +
!Encoding
 +
!Beschreibung
 +
|-
 +
|ca.pem
 +
|[[wikipedia:X.509|X.509]]
 +
|[[wikipedia:Privacy-Enhanced_Mail|PEM]]
 +
|Das Zertifikat der anerkannten Zertifizierungsstelle
 +
|-
 +
|server-cert.pem
 +
|[[wikipedia:X.509|X.509]]
 +
|[[wikipedia:Privacy-Enhanced_Mail|PEM]]
 +
|Das ausgestellte Zertifikat für Ihren Server
 +
|-
 +
|server-privatekey-pkcs8.pem
 +
|[[wikipedia:PKCS_8|PKCS#8]]
 +
|[[wikipedia:Privacy-Enhanced_Mail|PEM]]
 +
|Der Private Key für Ihren Server
 +
|}
  
Bitte prüfen Sie vor der Konfiguration der Verknüpfung von nginx -> iris, ob eine gültige HTTPS Verbindung mit einer statischen Seite hergestellt werden kann.
 
  
 +
Die Dateien platzieren Sie bitte mit dem o.g. Dateinamen unter folgendem Ordner aus Container-Sicht:
  
Danach können Sie unter nginx den "location /" Eintrag wie folgt abändern.<blockquote> <code>   location / {</code>
+
/etc/heidler/ssl/public
  
<code>       proxy_pass      <nowiki>https://localhost:8080</nowiki>;</code>
+
Dieses Verzeichnis wird über das Docker Volume "hsc-config" bereitgestellt.
  
  <code>       proxy_read_timeout               300;</code>
+
Um herauszufinden, welchem Ordner auf der Host-Maschine das entspricht, können Sie folgenden Befehl verwenden:
 +
  docker volume inspect hsc-config
  
<code>       proxy_connect_timeout            300;</code>
+
Unter dem Parameter "Mountpoint" finden Sie dann den lokalen Pfad.
  
<code>       proxy_set_header                 X-Real-IP                                       $remote_addr;</code>
+
Beispiel:
  
<code>       proxy_set_header                 X-Forwarded-For                                 $proxy_add_x_forwarded_for;</code>
+
"Mountpoint": "/var/lib/docker/volumes/hsc-config/_data"
  
<code>       proxy_set_header                 Host                                            $host;</code>
+
Dann wäre in diesem Beispiel der Pfad, wo die Dateien zu hinterlegen sind:
  
<code>       proxy_ssl_verify                 off;</code>
+
/var/lib/docker/volumes/hsc-config/_data/ssl/public
  
<code>   }</code></blockquote>
+
=== Option 2: Zertifikat mit Let's Encrypt™ generieren ===
 +
Beachten: Durch das Verwenden dieser Option stimmen Sie den Terms of Service Let's Encrypt zu. Die TOS können hier eingesehen werden: https://letsencrypt.org/repository/
  
 +
Das öffentliche HTTPS Zertifikat wird mithilfe des Tools certbot angefragt: https://certbot.eff.org/
 +
 +
Um diesen Dienst zu nutzen, fügen Sie einfach zwei Umgebungsvariablen hinzu, wenn Sie den Docker Container erstellen:
 +
--env LETSENCRYPT=<Ihre öffentliche Domain> --env LETSENCRYPTEMAIL=<Ihre E-Mail Adresse für Benachrichtigungen für Ihr Zertifikat>
 +
Gesamt-Beispiel:
 +
docker create --name iris --hostname iris --network bridge --publish 80:80 --publish 443:443 --env LETSENCRYPT=iris.yourcompany.com --env LETSENCRYPTEMAIL=it@yourcompany.com --volume hsc-db:/var/lib/mysql --volume hsc-config:/etc/heidler --restart unless-stopped iris:1.X.X
 +
Sie müssen natürlich die Werte in diesem Beispiel mit Ihrer Domain und Ihrer E-Mail Adresse ersetzen.
  
 
== Updates ==
 
== Updates ==
Zeile 112: Zeile 147:
  
 
=== Neuen IRIS Container mit neuer Version erstellen ===
 
=== Neuen IRIS Container mit neuer Version erstellen ===
  docker create --name iris --network bridge --hostname iris --publish 127.0.0.1:8080:443 --volume hsc-db:/var/lib/mysql --volume hsc-config:/etc/heidler --restart unless-stopped iris:1.X.X
+
  docker create --name iris --hostname iris --network bridge --publish 80:80 --publish 443:443 --volume hsc-db:/var/lib/mysql --volume hsc-config:/etc/heidler --restart unless-stopped iris:1.X.X
 
 
=== Netzwerk verbinden ===
 
docker network connect hsc-network iris
 
  
 
=== Container starten ===
 
=== Container starten ===

Aktuelle Version vom 26. April 2023, 14:42 Uhr

Hinweise

IRIS Version

Im folgenden Text finden Sie viele Befehle, die die aktuelle Version von IRIS enthalten.

Bitte ersetzen Sie die Version durch die jeweils verfügbare aktuellste Version von IRIS.


Beispiel:

docker load -i iris-1.X.X.tar.gz

zu

docker load -i iris-1.0.18.tar.gz

bzw. die jeweils aktuellste Version

Docker auf Linux

Diese Beschreibung nimmt eine Installation von Docker auf Linux an.

Für andere Betriebssysteme müssen die Befehle oder Schritte entsprechend abgeändert werden.

Üblicherweise sind für Docker-Installationen auf Linux Admin-Berechtigungen erforderlich.

Die meisten Befehle benötigen deshalb ein "sudo" davor oder müssen als root User ausgeführt werden.


Erstinstallation

Herunterladen / Kopieren von IRIS

Sie erhalten den Downloadlink für IRIS von unserem Support


Zum Hochladen des Container-Images können Sie die Datei per scp in das Home-Verzeichnis des Docker-Hosts hochladen:

scp iris-1.X.X.tar.gz <Benutzername>@<Servername>:~/


Alternativ direkt über den Downloadlink auf der Maschine herunterladen:

wget <Downloadlink>

IRIS Docker Image laden

docker load -i iris-1.X.X.tar.gz

Volumes und Netzwerke vorbereiten

docker volume create hsc-db
docker volume create hsc-config

Container aus Image erstellen

docker create --name iris --hostname iris --network bridge --publish 80:80 --publish 443:443 --volume hsc-db:/var/lib/mysql --volume hsc-config:/etc/heidler --restart unless-stopped iris:1.X.X

Container starten

docker start iris

Logs des Containers prüfen

docker logs iris

In den Logs sollte ein Eintrag erscheinen, der so ähnlich lautet:

2023-02-08 17:22:38.926 -08 WARN  [main] (init.ServiceInitializer:166) - A new user has been created.:
Username: root@localhost
Password: P6oV-GK3GYsdnn_5usDg1tBmn00
Please login with this user and change your password immediately!

Bitte notieren Sie sich diesen Benutzer + Passwort umgehend.

Sollte dieser Eintrag nicht erscheinen, warten Sie einen Moment und führen Sie den Befehl "docker logs iris" erneut aus.

Option 1: Eigenes SSL Zertifikat konfigurieren

Im Standard wird der Docker Container einen HTTPS Server mit selbst signiertem Zertifikat veröffentlichen.

Das muss noch durch ein öffentliches, durch eine anerkannte Zertifizierungsstelle ausgestelltes, Zertifikat ersetzt werden.

Sie benötigen hierzu folgende Dateien:

Datei Format Encoding Beschreibung
ca.pem X.509 PEM Das Zertifikat der anerkannten Zertifizierungsstelle
server-cert.pem X.509 PEM Das ausgestellte Zertifikat für Ihren Server
server-privatekey-pkcs8.pem PKCS#8 PEM Der Private Key für Ihren Server


Die Dateien platzieren Sie bitte mit dem o.g. Dateinamen unter folgendem Ordner aus Container-Sicht:

/etc/heidler/ssl/public

Dieses Verzeichnis wird über das Docker Volume "hsc-config" bereitgestellt.

Um herauszufinden, welchem Ordner auf der Host-Maschine das entspricht, können Sie folgenden Befehl verwenden:

docker volume inspect hsc-config

Unter dem Parameter "Mountpoint" finden Sie dann den lokalen Pfad.

Beispiel:

"Mountpoint": "/var/lib/docker/volumes/hsc-config/_data"

Dann wäre in diesem Beispiel der Pfad, wo die Dateien zu hinterlegen sind:

/var/lib/docker/volumes/hsc-config/_data/ssl/public

Option 2: Zertifikat mit Let's Encrypt™ generieren

Beachten: Durch das Verwenden dieser Option stimmen Sie den Terms of Service Let's Encrypt zu. Die TOS können hier eingesehen werden: https://letsencrypt.org/repository/

Das öffentliche HTTPS Zertifikat wird mithilfe des Tools certbot angefragt: https://certbot.eff.org/

Um diesen Dienst zu nutzen, fügen Sie einfach zwei Umgebungsvariablen hinzu, wenn Sie den Docker Container erstellen:

--env LETSENCRYPT=<Ihre öffentliche Domain> --env LETSENCRYPTEMAIL=<Ihre E-Mail Adresse für Benachrichtigungen für Ihr Zertifikat>

Gesamt-Beispiel:

docker create --name iris --hostname iris --network bridge --publish 80:80 --publish 443:443 --env LETSENCRYPT=iris.yourcompany.com --env LETSENCRYPTEMAIL=it@yourcompany.com --volume hsc-db:/var/lib/mysql --volume hsc-config:/etc/heidler --restart unless-stopped iris:1.X.X

Sie müssen natürlich die Werte in diesem Beispiel mit Ihrer Domain und Ihrer E-Mail Adresse ersetzen.

Updates

Herunterladen / Kopieren von IRIS

Sie erhalten den Downloadlink für IRIS von unserem Support


Zum Hochladen des Container-Images können Sie die Datei per scp in das Home-Verzeichnis des Docker-Hosts hochladen:

scp iris-1.X.X.tar.gz <Benutzername>@<Servername>:~/


Alternativ direkt über den Downloadlink auf der Maschine herunterladen:

wget <Downloadlink>

Docker Image laden

docker load -i iris-1.X.X.tar.gz

IRIS stoppen

Achtung: Ab hier ist IRIS für ca. 1 Minute nicht erreichbar

docker stop iris

IRIS Container löschen

docker rm iris

Neuen IRIS Container mit neuer Version erstellen

docker create --name iris --hostname iris --network bridge --publish 80:80 --publish 443:443 --volume hsc-db:/var/lib/mysql --volume hsc-config:/etc/heidler --restart unless-stopped iris:1.X.X

Container starten

docker start iris

Altes Container-Image entfernen

Achtung! Im folgenden Befehl die Version 1.X.X durch die vorherige (nicht aktuelle) Version von IRIS ersetzen

docker image rm iris:1.X.X