Zum Inhalt springen

OTOBO Docker Compose: Offiziellen Stack installieren

OTOBO Installation mit Docker Compose

Die Installation von OTOBO mit Docker Compose ist die empfohlene Methode für Produktionsumgebungen. Der offizielle otobo-docker-Stack bündelt alle benötigten Dienste (Webserver, Datenbank, Elasticsearch, Redis und optional Nginx für HTTPS), sodass Sie OTOBO in wenigen Minuten auf jeder Linux-Distribution mit Docker-Unterstützung betriebsbereit haben.

KomponenteMinimumEmpfohlen (Produktion)
CPU2 Kerne4+ Kerne
RAM4 GB8 GB oder mehr
Festplatte20 GB frei40 GB+ (SSD)
Docker20.10aktuelle Version
Docker Composev2aktuelle Version
Git2.17aktuelle Version

[!NOTE] Elasticsearch ist Teil des Stacks und benötigt ausreichend Arbeitsspeicher. Für Produktionsumgebungen planen Sie mindestens 8 GB RAM ein.

Schritt 1: Docker, Docker Compose und Git installieren

Abschnitt betitelt „Schritt 1: Docker, Docker Compose und Git installieren“

Installieren Sie Docker und Docker Compose auf Ihrem Server. Die genauen Befehle hängen von Ihrer Linux-Distribution ab:

Unter Windows oder macOS installieren Sie Docker Desktop und aktivieren die WSL-2-Integration (Windows). Führen Sie die folgenden Schritte anschließend in einem Terminal aus.

Überprüfen Sie die Installation:

Terminal-Fenster
docker --version
docker compose version

Das otobo-docker-Repository enthält die Docker-Compose-Konfiguration und Hilfsskripte. Verwenden Sie den Tag, der zur gewünschten OTOBO-Version passt (z. B. rel-11_0 für die aktuelle 11.0-Serie).

Terminal-Fenster
cd /opt
sudo git clone https://github.com/RotherOSS/otobo-docker.git --branch rel-11_0 /opt/otobo-docker
cd /opt/otobo-docker
ls -a # Plausibilitätsprüfung: README.md und die .docker_compose_env_*-Dateien sollten vorhanden sein

Die .env-Datei ist die zentrale Konfigurationsdatei für Ihre OTOBO-Installation. Sie wird nicht automatisch erstellt; stattdessen kopieren Sie eine der bereitgestellten Beispieldateien:

  • .docker_compose_env_http – OTOBO über HTTP (einfachste Option, z. B. hinter einem eigenen Reverse Proxy)
  • .docker_compose_env_https – OTOBO über HTTPS mit dem integrierten Nginx-Reverse-Proxy

Für eine einfache HTTP-Installation:

Terminal-Fenster
sudo cp -p .docker_compose_env_http .env

Für HTTPS verwenden Sie stattdessen .docker_compose_env_https und stellen ein Zertifikat bereit (siehe Erweiterte Installation).

Öffnen Sie die .env-Datei und setzen Sie ein sicheres Passwort für den Datenbankadministrator:

Terminal-Fenster
sudo nano .env

Passen Sie folgende Zeile an:

Terminal-Fenster
OTOBO_DB_ROOT_PASSWORD=<Ihr_sicheres_Passwort>

Dieses Passwort benötigen Sie später im Web-Installer, um die Datenbank und das OTOBO-Schema anzulegen.

Starten Sie den gesamten Stack im Hintergrund:

Terminal-Fenster
sudo docker compose up --detach

Beim ersten Start werden die Docker-Images von Docker Hub heruntergeladen – je nach Verbindung kann das einige Minuten dauern.

Überprüfen Sie anschließend, ob alle Dienste laufen (fünf bei HTTP, sechs bei HTTPS):

Terminal-Fenster
sudo docker compose ps

Schritt 6: Installation über den Web-Installer abschließen

Abschnitt betitelt „Schritt 6: Installation über den Web-Installer abschließen“

Rufen Sie den OTOBO-Installer in Ihrem Browser auf:

http://<ihre-server-ip>/otobo/installer.pl

Folgen Sie den Schritten im Installer und beachten Sie Folgendes:

  • Wählen Sie eine neue MySQL-/MariaDB-Datenbank.
  • Als Root-Passwort der Datenbank verwenden Sie den Wert aus OTOBO_DB_ROOT_PASSWORD.
  • Lassen Sie den MySQL-Hostnamen auf db – das ist der interne Dienstname des Datenbankcontainers.

Nach Abschluss können Sie sich im Agent-Interface anmelden (Standardbenutzer root@localhost; das Passwort wird am Ende des Installers angezeigt).

OTOBO Admin-Bereich nach abgeschlossener Installation

OTOBO Docker-Container nach der Installation

  • OTOBO-Daemon prüfen: Der Daemon-Container übernimmt Hintergrundaufgaben (E-Mail-Abruf, Eskalationen, Cronjobs). Er läuft als eigener Container und sollte den Status „running“ anzeigen.
  • Firewall: Öffnen Sie die erforderlichen Ports (Port 80 für HTTP oder 443 für HTTPS).
  • Container betreten (für CLI-Aufgaben):
Terminal-Fenster
sudo docker compose exec web bash

Elasticsearch startet nicht / Container beendet sich sofort

Elasticsearch benötigt einen erhöhten Wert für vm.max_map_count. Setzen Sie ihn dauerhaft:

Terminal-Fenster
sudo sysctl -w vm.max_map_count=262144
echo "vm.max_map_count=262144" | sudo tee /etc/sysctl.d/99-otobo-elasticsearch.conf

Port 80 oder 443 bereits belegt

Setzen Sie andere Ports in der .env-Datei über OTOBO_WEB_HTTP_PORT oder OTOBO_WEB_HTTPS_PORT und starten Sie den Stack neu.

Logs eines Dienstes anzeigen

Terminal-Fenster
sudo docker compose logs -f web
sudo docker compose logs -f elastic

Stack neu starten oder stoppen

Terminal-Fenster
sudo docker compose restart
sudo docker compose stop

Für HTTPS-Konfiguration, Nginx-Anpassungen, Umgebungsvariablen, Updates und Backups lesen Sie die Erweiterte Installation von OTOBO.

Möchten Sie OTOBO mit KI-gestützter Ticket-Klassifizierung kombinieren, finden Sie die Schritte unter OTOBO KI & Open Ticket AI.

Für professionelle Unterstützung bei der Installation oder Integration wenden Sie sich an Softoft.de.

OTOBO professionell installieren lassen

Sparen Sie Zeit und Risiken: Softoft übernimmt die schlüsselfertige Installation, Docker-Setup, Härtung und Konfiguration für Ihre Produktivumgebung.

Häufig gestellte Fragen

Welches sind die grundlegenden Systemanforderungen für die Installation von OTOBO mit Docker Compose?

Für eine reibungslose Installation von OTOBO mit Docker Compose sind bestimmte Systemvoraussetzungen zu erfüllen. Minimal werden 2 CPU-Kerne, 4 GB RAM und 20 GB freier Festplattenspeicher benötigt. Für eine Produktionsumgebung empfiehlt Softoft jedoch mindestens 4+ CPU-Kerne, 8 GB oder mehr RAM und 40 GB+ SSD-Speicherplatz. Es ist entscheidend, dass Docker (Version 20.10 oder neuer), Docker Compose (v2 oder neuer) und Git (Version 2.17 oder neuer) auf dem Linux-Host installiert sind. Ein wichtiger Hinweis ist, dass Elasticsearch, welches Teil des OTOBO-Stacks ist, einen erheblichen Anteil des Arbeitsspeichers beansprucht. Daher sind die empfohlenen 8 GB RAM für Produktionsumgebungen essenziell, um eine stabile Performance zu gewährleisten.

Quellen:

Wie beginne ich die Installation, indem ich das OTOBO-Docker-Repository klone und die Konfigurationsdatei vorbereite?

Der erste Schritt zur Installation ist das Klonen des offiziellen otobo-docker-Repositories von GitHub. Navigieren Sie dazu in das Verzeichnis /opt und führen Sie den Befehl sudo git clone https://github.com/RotherOSS/otobo-docker.git --branch rel-11_0 /opt/otobo-docker aus, wobei rel-11_0 durch den gewünschten OTOBO-Versions-Tag ersetzt werden sollte. Nach dem Klonen wechseln Sie in das neue Verzeichnis /opt/otobo-docker. Anschließend müssen Sie die zentrale Konfigurationsdatei .env erstellen. Kopieren Sie dazu eine der bereitgestellten Vorlagen, z.B. .docker_compose_env_http für eine HTTP-Installation oder .docker_compose_env_https für HTTPS (erfordert zusätzliche Zertifikatskonfiguration). Ein Beispielbefehl wäre sudo cp -p .docker_compose_env_http .env. Abschließend öffnen Sie die .env-Datei und setzen ein sicheres Passwort für den Datenbankadministrator, indem Sie die Zeile OTOBO_DB_ROOT_PASSWORD=<Ihr_sicheres_Passwort> anpassen. Dieses Passwort ist später für den Web-Installer unerlässlich.

Quellen:

Wie starte ich die OTOBO-Container und überprüfe deren Status nach der Konfiguration?

Nachdem Sie das Repository geklont und die .env-Datei konfiguriert haben, können Sie den gesamten OTOBO-Stack starten. Navigieren Sie in das Verzeichnis /opt/otobo-docker (falls noch nicht geschehen) und führen Sie den Befehl sudo docker compose up --detach aus. Dieser Befehl startet alle definierten Dienste im Hintergrund. Beim ersten Start lädt Docker Compose die benötigten Images von Docker Hub herunter, was je nach Internetverbindung einige Minuten in Anspruch nehmen kann. Es ist wichtig, diesen Vorgang abzuwarten. Um zu überprüfen, ob alle Dienste erfolgreich gestartet wurden und ordnungsgemäß laufen, verwenden Sie den Befehl sudo docker compose ps. Dieser zeigt Ihnen eine Liste der Container und deren aktuellen Status an. Bei einer HTTP-Installation sollten Sie fünf laufende Dienste sehen, bei einer HTTPS-Konfiguration sechs (inklusive Nginx).

Quellen:

Welche Schritte sind im OTOBO Web-Installer notwendig, um die Einrichtung abzuschließen?

Nach dem erfolgreichen Start der Docker-Container müssen Sie die OTOBO-Installation über den Web-Installer abschließen. Öffnen Sie dazu Ihren Webbrowser und navigieren Sie zu http://<ihre-server-ip>/otobo/installer.pl. Im Installer wählen Sie die Option "eine neue MySQL-/MariaDB-Datenbank" an, da der Docker-Stack eine eigene Datenbankinstanz bereitstellt. Als "Root-Passwort der Datenbank" geben Sie das zuvor in der .env-Datei festgelegte OTOBO_DB_ROOT_PASSWORD ein. Es ist entscheidend, dass Sie den "MySQL-Hostnamen" auf db belassen, da dies der interne Dienstname des Datenbankcontainers innerhalb des Docker-Netzwerks ist und nicht die IP-Adresse des Host-Systems. Folgen Sie den weiteren Anweisungen des Installers, um das OTOBO-Schema anzulegen und das initiale Administrator-Konto einzurichten. Nach Abschluss wird Ihnen das Passwort für den Standardbenutzer root@localhost angezeigt, mit dem Sie sich im Agent-Interface anmelden können.

Quellen:

Welche gängigen Probleme können während oder nach der OTOBO Docker Compose Installation auftreten und wie behebe ich diese?

Bei der OTOBO Docker Compose Installation können verschiedene Probleme auftreten. Ein häufiges Problem ist, dass Elasticsearch nicht startet oder sich sofort beendet. Dies liegt oft an einem zu niedrigen vm.max_map_count-Wert. Beheben Sie dies dauerhaft mit sudo sysctl -w vm.max_map_count=262144 und echo "vm.max_map_count=262144" | sudo tee /etc/sysctl.d/99-otobo-elasticsearch.conf. Falls Port 80 oder 443 bereits belegt ist, können Sie alternative Ports in der .env-Datei über OTOBO_WEB_HTTP_PORT oder OTOBO_WEB_HTTPS_PORT definieren und den Stack anschließend neu starten. Um Logs eines Dienstes (z.B. des Webservers oder Elasticsearch) anzuzeigen und Fehler zu diagnostizieren, verwenden Sie sudo docker compose logs -f web oder sudo docker compose logs -f elastic. Zum Neustarten oder Stoppen des gesamten Stacks dienen die Befehle sudo docker compose restart bzw. sudo docker compose stop.

Quellen: