# Anleitung: Deployment eines Otobo-Stacks in Portainer

## 1. Öffnen von Portainer
Logge dich auf dem [Portainer](https://10.10.11.34:9443/) ein.

## 2. Erstellen eines neuen Stacks
- Gehe in der linken Navigationsleiste auf „[Stacks](https://10.10.11.34:9443/#!/2/docker/stacks)“ und klicke auf „[Add stack](https://10.10.11.34:9443/#!/2/docker/stacks/newstack)“.

## 3. Name des Stacks
- Gib im Feld **Name** den gewünschten Namen für den Stack ein, z. B. `otobo-v1`. 
- Beachte, dass der Name nur aus Kleinbuchstaben, Ziffern, Bindestrichen und Unterstrichen bestehen darf.

## 4. Build-Methode
- Wähle die Option **Repository**, um den Stack aus einem Git-Repository bereitzustellen.

## 5. Git-Repository konfigurieren
- Trage unter **Repository URL** folgende URL ein:  
  `https://github.com/RotherOSS/otobo-docker`
- Gib unter **Reference** die gewünschte Branch oder den Tag ein, z. B. `refs/heads/rel-11_0`.

## 6. Pfad zur `docker-compose.yml`
- Trage in das Feld **Compose path** den Pfad zur Hauptdatei ein:  
  `docker-compose/otobo-base.yml`

## 7. Zusätzliche Compose-Dateien
- Füge eine Override-Datei hinzu, indem du unter **Additional paths** den folgenden Pfad angibst:  
  `docker-compose/otobo-override-http.yml`

## 8. GitOps Updates
- Optional: Aktiviere oder deaktiviere automatische Updates (standardmässig Deaktiviert).

## 9. TLS-Überprüfung
- Aktiviere oder deaktiviere „Skip TLS Verification“ entsprechend deiner Umgebung. (Nur aktivieren, wenn dein Git-Server ein selbstsigniertes Zertifikat verwendet.)

## 10. Umgebungsvariablen setzen
Füge unter **Environment variables** die folgenden Variablen hinzu:


| **Name**                         | **Wert**                                                             |
|----------------------------------|----------------------------------------------------------------------|
| COMPOSE_PROJECT_NAME             | otobo                                                                |
| COMPOSE_PATH_SEPARATOR           | :                                                                    |
| COMPOSE_FILE                     | docker-compose/otobo-base.yml:docker-compose/otobo-override-http.yml |
| OTOBO_DB_ROOT_PASSWORD           | t3S7P@s2w0Rd                                                         |
| OTOBO_ELASTICSEARCH_ES_JAVA_OPTS | -Xms512m -Xmx512m                                                    |

> **_NOTIZ:_**  Sonderzeichen wie ``$``, ``/`` und ``\``,``'`` im passwort können zu probleme führen.


## 11. Zugriffssteuerung
- Wähle unter **Access control** aus, ob nur Administratoren Zugriff auf diesen Stack haben sollen, indem du die Option „Administrators“ aktivierst.

## 12. Stack bereitstellen
- Klicke auf „Deploy the stack“, um den Otobo-Stack zu starten.

## 13. Überprüfung des Deployments
- Gehe in der Portainer-Oberfläche zu „Stacks“ und überprüfe den Status des neu erstellten Stacks.
- Stelle sicher, dass alle Container erfolgreich gestartet (oder zumindest unhealthy) sind.

## 14. Konfiguration 
- Gehe in der Portainer-Oberfläche zu „Stacks“ und überprüfe den Status des neu erstellten Stacks.
- Stelle sicher, dass alle Container erfolgreich gestartet (oder zumindest unhealthy) sind.

> **_URL zur Anleitung:_** [Start-Otobo-Deamon](https://doc.otobo.de/manual/installation/11.0/de/content/installation.html#step-11-start-the-otobo-daemon)


## 15. Install and start OTOBO
Führen Sie den OTOBO Installer von "http://IpAdresseOderFQDN/otobo/installer.pl" aus.


### Bemerkung
Konfigurieren Sie OTOBO im Installer mit einer neuen MySQL-Datenbank. Geben Sie als Root-Passwort für die MySQL-Datenbank das Passwort ein, das Sie für die Variable `OTOBO_DB_ROOT_PASSWORD` gesetzt haben. Bitte behalten Sie den Wert `db` für den MySQL-Hostnamen unverändert bei.