# ELO mit Docker



# Systemvorbereitung

### Docker &amp; Docker-Compose

Damit die ECM Suite mit Docker und Docker-Compose verwendet werden kann, muss die Docker Engine sowie das Docker-Compose Plugin auf dem System installiert werden. Dafür kann folgende [Anleitung ](https://docs.alpha-np.de/books/installationsanleitungen/page/docker)befolgt werden.

### ELO Container Registry

Um die offiziellen ELO Images zu pullen, muss eine Anmeldung in der ELO Container Registry erfolgen. Dafür wird ein ELO PartnerPortal Zugang benötigt

#### CLI Secret auslesen

1. In der [ELO Container Registry](https://registry.elo.com) mit dem `OIDC PROVIDER` (dem ELO PartnerPortal) anmelden
2. Das Benutzerprofil anzeigen [![image.png](https://docs.alpha-np.de/uploads/images/gallery/2023-09/scaled-1680-/Kioimage.png)](https://docs.alpha-np.de/uploads/images/gallery/2023-09/Kioimage.png)
3. Im Benutzerprofil lässt sich das CLI Secret auslesen [![image.png](https://docs.alpha-np.de/uploads/images/gallery/2023-09/scaled-1680-/JN3image.png)](https://docs.alpha-np.de/uploads/images/gallery/2023-09/JN3image.png)

#### Anmeldung mit Docker

Nachdem das CLI Secret ausgelesen wurde, kann sich mit dem `docker login` Befehl an der entsprechenden Registry angemeldet werden:

```bash
docker login registry.elo.com -u <username> -p <cli-secret>
```

<table border="1" id="bkmrk-%3Cusername%3E-benutzern" style="border-collapse: collapse; width: 100%; height: 60.2188px;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr style="height: 30.1094px;"><td style="height: 30.1094px;">`<username>`</td><td style="height: 30.1094px;">Benutzername zum PartnerPortal </td></tr><tr style="height: 30.1094px;"><td style="height: 30.1094px;">`<cli-secret>`</td><td style="height: 30.1094px;">Das ausgelesene CLI Secret

</td></tr></tbody></table>

### VM Settings

Damit der Elasticsearch-Container ordnungsgemäß funktioniert, muss die `vm.max_map_count` Einstellung angepasst werden.

1. Die Datei /etc/sysctl.conf mit einem Texteditor (z.B. nano) öffnen
2. Folgende Zeile in die Datei einfügen: ```bash
    vm.max_map_count=262144
    ```
3. Sysctl Konfiguration neu laden: ```bash
    sudo sysctl -p
    ```

<p class="callout success">Das System ist nun für die Verwendung von ELO mit Docker und Docker-Compose vorbereitet.</p>

# Docker-Compose Konfiguration

Nun kann die ELO ECM Suite mit Docker-Compose konfiguriert und gestartet werden.

#### Dateien kopieren

Am schnellsten startet man, indem man das Git-Repository des Projekts klont:

```bash
git clone http://git.triargos.de/elo-development/elo-docker.git .
```

In dem entsprechenden Verzeichnis sollte sich nun neben anderen Dateien eine docker-compose.yml Datei befinden.

#### ELO Lizenz einfügen  


Die ELO Lizenz wird über eine entsprechende .txt Datei eingelesen. So muss die Lizenzdatei in das Root des aktuellen Verzeichnisses (wo sich die docker-compose Datei befindet) kopiert werden. (z.B nach elo-license.txt)

#### Umgebungsvariablen konfigurieren

Die Umgebungsvariablen lassen sich ganz einfach über das entsprechende Konfigurationsskript konfigurieren. Dies liest die Lizenz ein, generiert sichere Passwörter und erstellt die `.env` Datei automatisch.

1. Berechtigungen anpassen, um das Skript auszuführen: ```bash
    chmod +x scripts/create-config.sh
    ```
2. Skript ausführen: ```bash
    ./create-config.sh
    ```

# Elasticsearch Indices aufbauen

1. Statusseite des Indexservers öffnen (`http://[SERVER]:9090/[REPOSITORY]/ix?cmd=status`)
2. `Configure Options` wählen [![image.png](https://docs.alpha-np.de/uploads/images/gallery/2023-09/scaled-1680-/gGAimage.png)](https://docs.alpha-np.de/uploads/images/gallery/2023-09/gGAimage.png)
3. Mit den Tomcat Admin Zugangsdaten authentifizieren
4. `iSearch Config` auswählen [![image.png](https://docs.alpha-np.de/uploads/images/gallery/2023-09/scaled-1680-/pmOimage.png)](https://docs.alpha-np.de/uploads/images/gallery/2023-09/pmOimage.png)
5. Im Tab `Indexer `die Aktion `Create New Index` ausführen [![image.png](https://docs.alpha-np.de/uploads/images/gallery/2023-09/scaled-1680-/gEWimage.png)](https://docs.alpha-np.de/uploads/images/gallery/2023-09/gEWimage.png)

<p class="callout success">Nachdem der Indexvorgang abgeschlossen ist kann die Suche normal verwendet werden.</p>