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.
Diese Anleitung beschreibt die vollständige Installation von OTOBO auf CentOS mit Docker und Docker Compose. 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 betriebsbereit haben.
[!NOTE] CentOS Linux 8 hat das End-of-Life erreicht. Für Produktivsysteme empfehlen wir CentOS Stream 9, eine kompatible Distribution wie AlmaLinux/Rocky Linux oder RHEL.
| Komponente | Minimum | Empfehlung (Produktion) |
|---|---|---|
| CPU | 2 Kerne | 4+ Kerne |
| RAM | 4 GB | 8 GB oder mehr |
| Festplatte | 20 GB frei | 40 GB+ (SSD) |
| Docker | 19.03.13 | aktuelle Version |
| Docker Compose | v2 | aktuelle Version |
| Git | 2.17 | aktuelle Version |
[!NOTE] Elasticsearch ist Teil des Stacks und benötigt vergleichsweise viel Arbeitsspeicher. Planen Sie für produktive Umgebungen mindestens 8 GB RAM ein.
Unter CentOS wird Docker über das offizielle Docker-CE-Repository installiert. Richten Sie zunächst das Repository ein:
sudo dnf install -y dnf-plugins-core gitsudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repoInstallieren Sie anschließend Docker Engine, die CLI und das Compose-Plugin:
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-compose-pluginAktivieren und starten Sie den Docker-Dienst, damit er automatisch beim Booten startet:
sudo systemctl enable --now dockerOptional: Fügen Sie Ihren Benutzer der Gruppe docker hinzu, damit Sie Docker-Befehle ohne sudo ausführen können (danach neu anmelden):
sudo usermod -aG docker $USERPrüfen Sie die Installation:
docker --versiondocker compose versionDas otobo-docker-Repository enthält die Docker-Compose-Konfiguration und Hilfsskripte. Verwenden Sie das Tag, das zu Ihrer gewünschten OTOBO-Version passt (z. B. rel-11_0 für die aktuelle 11.0-Reihe).
cd /optsudo git clone https://github.com/RotherOSS/otobo-docker.git --branch rel-11_0 /opt/otobo-dockercd /opt/otobo-dockerls -a # Kontrolle: u. a. README.md und die .docker_compose_env_*-Dateien sollten vorhanden sein.env-Datei erstellenDie Datei .env ist die zentrale Konfigurationsdatei für Ihre OTOBO-Installation. Sie wird nicht automatisch erzeugt, sondern aus einer der mitgelieferten Beispieldateien kopiert:
.docker_compose_env_http – OTOBO über HTTP (einfachste Variante, z. B. hinter einem eigenen Reverse-Proxy).docker_compose_env_https – OTOBO über HTTPS mit integriertem Nginx-Reverse-ProxyFür eine einfache HTTP-Installation:
sudo cp -p .docker_compose_env_http .envFür HTTPS verwenden Sie stattdessen .docker_compose_env_https und hinterlegen ein Zertifikat (siehe Fortgeschrittene Installation).
Öffnen Sie die .env-Datei und setzen Sie ein sicheres Passwort für den Datenbank-Administrator:
sudo vi .envPassen Sie die folgende Zeile an:
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:
sudo docker compose up --detachBeim ersten Start werden die Docker-Images von Docker Hub heruntergeladen – das kann je nach Verbindung einige Minuten dauern.
Überprüfen Sie anschließend, ob alle Dienste laufen (fünf bei HTTP, sechs bei HTTPS):
sudo docker compose psRufen Sie den OTOBO-Installer im Browser auf:
http://<ihre-server-ip>/otobo/installer.plFolgen Sie den Schritten des Installers und beachten Sie dabei:
OTOBO_DB_ROOT_PASSWORD.db stehen – dies ist der interne Servicename des Datenbank-Containers.Nach Abschluss können Sie sich am Agenten-Interface anmelden (Standardbenutzer root@localhost, das Passwort wird am Ende des Installers angezeigt).

firewalld:sudo firewall-cmd --permanent --add-service=httpsudo firewall-cmd --permanent --add-service=httpssudo firewall-cmd --reloadsudo docker compose exec web bashElasticsearch startet nicht / Container beendet sich sofort
Elasticsearch benötigt einen erhöhten Wert für vm.max_map_count. Setzen Sie ihn dauerhaft:
sudo sysctl -w vm.max_map_count=262144echo "vm.max_map_count=262144" | sudo tee /etc/sysctl.d/99-otobo-elasticsearch.confSELinux blockiert Container-Zugriffe
CentOS setzt standardmäßig SELinux ein. Falls Container Zugriffsprobleme zeigen, prüfen Sie die Audit-Logs (sudo ausearch -m avc -ts recent). Zur Diagnose kann der Permissive-Modus helfen (sudo setenforce 0).
Port 80 oder 443 bereits belegt
Setzen Sie in der .env-Datei abweichende Ports über OTOBO_WEB_HTTP_PORT bzw. OTOBO_WEB_HTTPS_PORT und starten Sie den Stack neu.
Logs eines Dienstes ansehen
sudo docker compose logs -f websudo docker compose logs -f elasticFür HTTPS-Konfiguration, Nginx-Anpassungen, Umgebungsvariablen, Updates und Backups lesen Sie die Fortgeschrittene Installation von OTOBO.
Möchten Sie OTOBO mit KI-gestützter Ticket-Klassifizierung kombinieren, finden Sie die Schritte unter OTOBO KI & Open Ticket AI.
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.
OTOBO unterstützt die Installation auf CentOS Stream 8 und 9. Es ist wichtig zu beachten, dass CentOS Linux 8 das End-of-Life erreicht hat. Für Produktivsysteme wird daher CentOS Stream 9 oder eine kompatible Distribution wie AlmaLinux oder Rocky Linux empfohlen. Die Installation erfolgt über Docker und Docker Compose, was die Kompatibilität über verschiedene Linux-Distributionen hinweg vereinfacht und eine robuste Umgebung für OTOBO schafft. Stellen Sie sicher, dass Ihr System die allgemeinen Systemvoraussetzungen für Docker und OTOBO erfüllt.
Quellen:
Die Installation von Docker, Docker Compose und Git auf CentOS erfolgt über das offizielle Docker-CE-Repository und den dnf-Paketmanager. Zuerst fügen Sie das Docker-Repository hinzu und installieren dann docker-ce, docker-ce-cli, containerd.io und docker-compose-plugin sowie Git. Nach der Installation müssen Sie den Docker-Dienst aktivieren und starten, damit er automatisch beim Systemstart läuft (sudo systemctl enable --now docker). Optional können Sie Ihren Benutzer zur docker-Gruppe hinzufügen (sudo usermod -aG docker $USER), um Docker-Befehle ohne sudo ausführen zu können; danach ist eine Neuanmeldung erforderlich. Überprüfen Sie die Installation mit docker --version und docker compose version.
Quellen:
Für eine produktive OTOBO-Umgebung auf CentOS wird mindestens eine CPU mit 4+ Kernen und 8 GB RAM oder mehr empfohlen. Besonders hervorzuheben ist, dass Elasticsearch, ein integraler Bestandteil des OTOBO-Stacks, vergleichsweise viel Arbeitsspeicher benötigt. Daher ist die Planung von ausreichend RAM entscheidend für die Performance. Zudem sollten mindestens 40 GB freier Festplattenspeicher (idealerweise SSD) und aktuelle Versionen von Docker (ab 19.03.13), Docker Compose (v2) und Git vorhanden sein. Diese Ressourcen stellen sicher, dass OTOBO reibungslos und performant läuft, insbesondere bei höherer Last und umfangreicher Nutzung von Suchfunktionen.
Quellen:
Die .env-Datei ist die zentrale Konfigurationsdatei für Ihre OTOBO-Installation mit Docker Compose. Sie enthält wichtige Umgebungsvariablen, die von den Docker-Containern verwendet werden, wie zum Beispiel das Datenbank-Root-Passwort oder die Art der Verbindung (HTTP/HTTPS). Sie wird nicht automatisch generiert, sondern muss aus einer der mitgelieferten Beispieldateien kopiert werden: .docker_compose_env_http für eine einfache HTTP-Installation (z. B. hinter einem eigenen Reverse-Proxy) oder .docker_compose_env_https für eine HTTPS-Installation mit integriertem Nginx-Reverse-Proxy. Nach dem Kopieren passen Sie die Datei an, um beispielsweise das OTOBO_DB_ROOT_PASSWORD festzulegen, welches für die Datenbankkonfiguration im Web-Installer benötigt wird.
Quellen:
Nachdem die Docker-Container gestartet wurden, rufen Sie den OTOBO-Installer über http://<ihre-server-ip>/otobo/installer.pl in Ihrem Browser auf. Im Installer wählen Sie die Option "eine neue MySQL-/MariaDB-Datenbank" anlegen. Als "Datenbank-Root-Passwort" geben Sie den Wert ein, den Sie zuvor in der .env-Datei unter OTOBO_DB_ROOT_PASSWORD festgelegt haben. Der "MySQL-Hostnamen" sollte auf db stehen bleiben, da dies der interne Servicename des Datenbank-Containers innerhalb des Docker-Netzwerks ist und eine korrekte Kommunikation gewährleistet. Nach Abschluss der Schritte wird Ihnen das Passwort für den Standardbenutzer root@localhost angezeigt, mit dem Sie sich am Agenten-Interface anmelden können.
Quellen:
Ein häufiges Problem, das dazu führt, dass Elasticsearch nicht startet oder sich sofort beendet, ist ein zu niedriger Wert für vm.max_map_count. Elasticsearch benötigt einen erhöhten Wert für diese Kernel-Einstellung, um ordnungsgemäß zu funktionieren. Um dies zu beheben, setzen Sie den Wert dauerhaft auf 262144 mit den Befehlen sudo sysctl -w vm.max_map_count=262144 und echo "vm.max_map_count=262144" | sudo tee /etc/sysctl.d/99-otobo-elasticsearch.conf. Nach dem Anwenden dieser Änderung sollten Sie den OTOBO-Stack neu starten (sudo docker compose down && sudo docker compose up --detach), damit Elasticsearch korrekt initialisiert werden kann und stabil läuft.
Quellen: