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 openSUSE und SUSE Linux Enterprise Server (SLES) 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.
| 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 SUSE stehen Docker und Docker Compose direkt in den Repositories zur Verfügung. Installieren Sie die Pakete mit zypper:
sudo zypper refreshsudo zypper install -y docker docker-compose git[!NOTE] Auf SLES muss ggf. das Modul „Containers“ aktiviert sein (
SUSEConnect --product sle-module-containers/15.5/x86_64, Version anpassen), bevor die Docker-Pakete verfügbar sind.
Aktivieren 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 version[!NOTE] Falls
docker compose(mit Leerzeichen) nicht verfügbar ist, verwenden Sie stattdessen den klassischen Befehldocker-compose(mit Bindestrich) in den folgenden Schritten.
Das 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.confPort 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 ist kompatibel mit openSUSE Leap 15.x und SUSE Linux Enterprise Server (SLES) 15 (einschließlich aller Service Packs). Die Installation mit Docker Compose ist auf beiden Plattformen weitgehend identisch. Für einen reibungslosen Betrieb sind bestimmte Systemvoraussetzungen zu beachten. Minimal werden 2 CPU-Kerne, 4 GB RAM und 20 GB freier Festplattenspeicher benötigt. Für produktive Umgebungen wird jedoch dringend empfohlen, mindestens 4+ CPU-Kerne, 8 GB RAM oder mehr und 40 GB+ SSD-Speicher einzuplanen. Besonders wichtig ist der Arbeitsspeicher, da Elasticsearch, ein integraler Bestandteil des OTOBO-Stacks, vergleichsweise viel RAM beansprucht.
Quellen:
Die Installation dieser essentiellen Pakete erfolgt unter SUSE über den Paketmanager zypper. Zuerst aktualisieren Sie die Paketlisten mit sudo zypper refresh, dann installieren Sie Docker, Docker Compose und Git mit sudo zypper install -y docker docker-compose git. Auf SLES kann es notwendig sein, das Modul „Containers“ zu aktivieren (z. B. SUSEConnect --product sle-module-containers/15.5/x86_64), bevor die Docker-Pakete verfügbar sind. Nach der Installation aktivieren und starten Sie den Docker-Dienst, damit er automatisch beim Systemstart läuft: sudo systemctl enable --now docker. Optional können Sie Ihren Benutzer der docker-Gruppe hinzufügen (sudo usermod -aG docker $USER), um Docker-Befehle ohne sudo ausführen zu können; danach ist eine Neuanmeldung erforderlich. Prüfen Sie die Installation mit docker --version und docker compose version.
Quellen:
Die .env-Datei ist die zentrale Konfigurationsdatei für Ihre OTOBO-Installation und wird aus einer Beispieldatei erstellt. Für eine einfache HTTP-Installation kopieren Sie .docker_compose_env_http nach .env (sudo cp -p .docker_compose_env_http .env). Wenn Sie HTTPS mit dem integrierten Nginx-Reverse-Proxy nutzen möchten, verwenden Sie stattdessen .docker_compose_env_https. Nach dem Erstellen der .env-Datei müssen Sie ein sicheres Passwort für den Datenbank-Administrator festlegen. Öffnen Sie die Datei (sudo vi .env) und passen Sie die Zeile OTOBO_DB_ROOT_PASSWORD=<ihr_sicheres_passwort> an. Dieses Passwort ist entscheidend, da Sie es später im OTOBO Web-Installer benötigen, um die Datenbank und das OTOBO-Schema anzulegen. Achten Sie darauf, ein komplexes und sicheres Passwort zu wählen.
Quellen:
Nachdem Sie die .env-Datei konfiguriert und das Datenbank-Root-Passwort festgelegt haben, starten Sie den gesamten OTOBO-Stack im Hintergrund. Navigieren Sie in das otobo-docker-Verzeichnis und führen Sie sudo docker compose up --detach aus. Beim ersten Start werden die erforderlichen Docker-Images von Docker Hub heruntergeladen, was einige Minuten dauern kann. Überprüfen Sie anschließend mit sudo docker compose ps, ob alle Dienste (fünf bei HTTP, sechs bei HTTPS) erfolgreich gestartet wurden und als „running“ angezeigt werden. Danach rufen Sie den OTOBO-Installer in Ihrem Webbrowser auf: http://<ihre-server-ip>/otobo/installer.pl. Folgen Sie den Anweisungen des Installers. Wählen Sie eine neue MySQL-/MariaDB-Datenbank, verwenden Sie das zuvor in der .env-Datei festgelegte Datenbank-Root-Passwort und lassen Sie den MySQL-Hostnamen auf db stehen, da dies der interne Servicename des Datenbank-Containers ist. Nach Abschluss können Sie sich mit root@localhost und dem im Installer angezeigten Passwort anmelden.
Quellen:
Nachdem die Installation über den Web-Installer abgeschlossen ist, gibt es einige wichtige Schritte zur Sicherstellung des reibungslosen Betriebs. Prüfen Sie zunächst, ob der OTOBO-Daemon-Container läuft, da dieser für Hintergrundaufgaben wie E-Mail-Abruf und Eskalationen zuständig ist. Er sollte ebenfalls als „running“ angezeigt werden. Für den externen Zugriff auf OTOBO müssen Sie die benötigten Ports in Ihrer Firewall freigeben. Wenn Sie firewalld verwenden, können Sie dies mit sudo firewall-cmd --permanent --add-service=http und sudo firewall-cmd --permanent --add-service=https tun, gefolgt von sudo firewall-cmd --reload. Für Kommandozeilenaufgaben oder zur Fehlerbehebung können Sie sich in den web-Container einloggen: sudo docker compose exec web bash. Dies ermöglicht Ihnen den Zugriff auf die OTOBO-Umgebung, um beispielsweise Skripte auszuführen oder Konfigurationen zu überprüfen.
Quellen:
Bei der OTOBO-Installation können verschiedene Probleme auftreten. Ein häufiges Problem ist, dass Elasticsearch nicht startet oder sich der Container sofort beendet. Dies liegt oft an einem zu niedrigen vm.max_map_count-Wert. Sie können diesen dauerhaft erhöhen, indem Sie sudo sysctl -w vm.max_map_count=262144 ausführen und die Einstellung für zukünftige Starts mit echo "vm.max_map_count=262144" | sudo tee /etc/sysctl.d/99-otobo-elasticsearch.conf speichern. Ein weiteres Problem kann sein, dass Port 80 oder 443 bereits belegt ist. In diesem Fall können Sie in der .env-Datei abweichende Ports über OTOBO_WEB_HTTP_PORT bzw. OTOBO_WEB_HTTPS_PORT festlegen und den Stack anschließend neu starten. Um Probleme zu diagnostizieren, ist es hilfreich, die Logs eines Dienstes einzusehen, z. B. mit sudo docker compose logs -f web für den Webserver oder sudo docker compose logs -f elastic für Elasticsearch. Die Logs liefern oft wertvolle Hinweise zur Fehlerursache.
Quellen: