Zum Inhalt springen

OTOBO Installation Ubuntu mit Docker Compose

Diese Anleitung beschreibt die vollständige Installation von OTOBO auf Ubuntu 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.

  • Ubuntu 20.04 LTS
  • Ubuntu 22.04 LTS
  • Ubuntu 24.04 LTS

Neuere und einige ältere Versionen funktionieren ebenfalls, solange eine aktuelle Docker-Version verfügbar ist.

KomponenteMinimumEmpfehlung (Produktion)
CPU2 Kerne4+ Kerne
RAM4 GB8 GB oder mehr
Festplatte20 GB frei40 GB+ (SSD)
Docker19.03.13aktuelle Version
Docker Composev2aktuelle Version
Git2.17aktuelle Version

[!NOTE] Elasticsearch ist Teil des Stacks und benötigt vergleichsweise viel Arbeitsspeicher. Planen Sie für produktive Umgebungen mindestens 8 GB RAM ein.

Schritt 1: Docker, Docker Compose und Git installieren

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

Aktualisieren Sie zunächst die Paketquellen und installieren Sie die benötigten Pakete:

Terminal-Fenster
sudo apt update
sudo apt install -y docker.io docker-compose-v2 git

[!NOTE] Das Paket docker-compose-v2 ist ab Ubuntu 22.04 verfügbar. Auf älteren Versionen installieren Sie das offizielle Docker-Repository (siehe docs.docker.com) oder verwenden Sie das ältere docker-compose-Paket.

Aktivieren und starten Sie den Docker-Dienst, damit er automatisch beim Booten startet:

Terminal-Fenster
sudo systemctl enable --now docker

Optional: Fügen Sie Ihren Benutzer der Gruppe docker hinzu, damit Sie Docker-Befehle ohne sudo ausführen können (danach neu anmelden):

Terminal-Fenster
sudo usermod -aG docker $USER

Prü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 das Tag, das zu Ihrer gewünschten OTOBO-Version passt (z. B. rel-11_0 für die aktuelle 11.0-Reihe).

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 # Kontrolle: u. a. README.md und die .docker_compose_env_*-Dateien sollten vorhanden sein

Die 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-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 hinterlegen ein Zertifikat (siehe Fortgeschrittene Installation).

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

Terminal-Fenster
sudo nano .env

Passen Sie die 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 – das kann je nach Verbindung 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 im Browser auf:

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

Folgen Sie den Schritten des Installers und beachten Sie dabei:

  • Wählen Sie als Datenbank eine neue MySQL-/MariaDB-Datenbank.
  • Als Datenbank-Root-Passwort verwenden Sie den Wert aus OTOBO_DB_ROOT_PASSWORD.
  • Lassen Sie den MySQL-Hostnamen auf 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).

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 als „running“ angezeigt werden.
  • Firewall: Geben Sie die benötigten Ports frei (Port 80 für HTTP bzw. 443 für HTTPS), z. B. mit sudo ufw allow 80/tcp.
  • In den Container wechseln (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 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

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 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.

Häufig gestellte Fragen

Welche Ubuntu-Versionen werden für OTOBO mit Docker Compose unterstützt und welche Systemvoraussetzungen gibt es?

OTOBO kann auf Ubuntu 20.04 LTS, 22.04 LTS und 24.04 LTS installiert werden. Auch neuere und einige ältere Versionen sind kompatibel, solange eine aktuelle Docker-Version verfügbar ist. Für die Systemvoraussetzungen wird ein Minimum von 2 CPU-Kernen, 4 GB RAM und 20 GB freier Festplattenspeicher empfohlen. Für produktive Umgebungen sind 4+ Kerne, 8 GB oder mehr RAM und 40 GB+ SSD-Speicher ratsam. Besonders Elasticsearch, das Teil des Stacks ist, benötigt vergleichsweise viel Arbeitsspeicher, weshalb 8 GB RAM für den Produktivbetrieb eingeplant werden sollten. Aktuelle Versionen von Docker (ab 19.03.13), Docker Compose (v2) und Git (ab 2.17) sind ebenfalls erforderlich.

Quellen:

Wie installiere ich Docker, Docker Compose und Git unter Ubuntu für OTOBO?

Zuerst aktualisieren Sie Ihre Paketquellen mit sudo apt update. Anschließend installieren Sie Docker, Docker Compose (Version 2) und Git mit dem Befehl sudo apt install -y docker.io docker-compose-v2 git. Beachten Sie, dass docker-compose-v2 ab Ubuntu 22.04 verfügbar ist; auf älteren Versionen müssen Sie möglicherweise das offizielle Docker-Repository hinzufügen oder das ältere docker-compose-Paket verwenden. Nach der Installation aktivieren und starten Sie den Docker-Dienst mit sudo systemctl enable --now docker, um sicherzustellen, dass er automatisch beim Systemstart läuft. 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. Überprüfen Sie die Installation mit docker --version und docker compose version.

Quellen:

Was ist die `.env`-Datei und wie wird sie für die OTOBO-Installation erstellt und konfiguriert?

Die .env-Datei ist die zentrale Konfigurationsdatei für Ihre OTOBO-Installation mit Docker Compose. Sie wird nicht automatisch generiert, sondern muss aus einer der mitgelieferten Beispieldateien kopiert werden. Für eine einfache HTTP-Installation kopieren Sie .docker_compose_env_http nach .env mittels sudo cp -p .docker_compose_env_http .env. Wenn Sie OTOBO über HTTPS mit dem integrierten Nginx-Reverse-Proxy betreiben möchten, verwenden Sie stattdessen .docker_compose_env_https. Nach dem Kopieren müssen Sie die .env-Datei bearbeiten, um ein sicheres Passwort für den Datenbank-Administrator festzulegen. Suchen Sie die Zeile OTOBO_DB_ROOT_PASSWORD=<ihr_sicheres_passwort> und ersetzen Sie den Platzhalter durch Ihr gewähltes Passwort. Dieses Passwort ist entscheidend für die spätere Konfiguration im Web-Installer.

Quellen:

Wie schließe ich die OTOBO-Installation über den Web-Installer ab und welche Anmeldedaten werden benötigt?

Nachdem alle Docker-Container gestartet sind, rufen Sie den OTOBO-Installer in Ihrem Webbrowser unter http://<ihre-server-ip>/otobo/installer.pl auf. Im Installer wählen Sie als Datenbank-Option "eine neue MySQL-/MariaDB-Datenbank". Als "Datenbank-Root-Passwort" geben Sie das sichere Passwort ein, das 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. Folgen Sie den weiteren Anweisungen des Installers, um die Datenbank und das OTOBO-Schema anzulegen. Nach erfolgreichem Abschluss können Sie sich am Agenten-Interface anmelden. Der Standardbenutzer ist root@localhost, und das zugehörige Passwort wird Ihnen am Ende des Installers angezeigt.

Quellen:

Welche Schritte sind nach der OTOBO-Installation wichtig und wie behebe ich häufige Probleme?

Nach der Installation sollten Sie den OTOBO-Daemon prüfen, der für Hintergrundaufgaben zuständig ist und als eigener Container laufen sollte. Stellen Sie sicher, dass die benötigten Ports (80 für HTTP, 443 für HTTPS) in Ihrer Firewall freigegeben sind, z. B. mit sudo ufw allow 80/tcp. Für CLI-Aufgaben können Sie mit sudo docker compose exec web bash in den Web-Container wechseln. Häufige Probleme umfassen Elasticsearch, das nicht startet, weil vm.max_map_count zu niedrig ist. Dies beheben Sie 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. Bei Portkonflikten können Sie in der .env-Datei OTOBO_WEB_HTTP_PORT oder OTOBO_WEB_HTTPS_PORT anpassen und den Stack neu starten. Logs von Diensten können mit sudo docker compose logs -f <dienstname> (z.B. web oder elastic) eingesehen werden. Den gesamten Stack starten Sie neu mit sudo docker compose restart oder stoppen ihn mit sudo docker compose stop.

Quellen: