Zum Inhalt springen

Znuny mit Docker Compose installieren

Docker Compose ist der schnellste Weg zu einem Znuny-Testsystem, einer Demo oder einer Staging-Umgebung. Anders als bei OTOBO stellt Znuny keinen offiziellen znuny-docker-Stack der Projektbetreuer bereit — Community-Compose-Projekte schließen diese Lücke.

Verwandte Themen: Znuny Docker im Betrieb · Staging-System · Offizielle Installationsdoku

StackGeeignet fürZnuny-VersionenInstaller-URL
Erik-Donath/znuny-dockerZnuny 7.x, Web-Installer-Workflow7.1+ (beim Build konfigurierbar)/znuny/installer.pl
juanluisbaptiste/docker-otrsAusgereifter All-in-One-Stack, Backups eingebautZnuny 6.x LTSVorkonfiguriert oder /otrs/installer.pl

Diese Anleitung nutzt Erik-Donath/znuny-docker, weil der Installer-Pfad zu Znuny 7.x passt. Für Znuny 6.x LTS mit automatischen Backups und SMTP-Relay siehe das juanluisbaptiste-Projekt und Znuny Docker im Betrieb.

KomponenteMinimumEmpfohlen (Staging / Produktion)
CPU2 Kerne4+ Kerne
RAM4 GB8 GB oder mehr
Festplatte20 GB frei40 GB+ (SSD)
Docker20.10aktuell
Docker Composev2aktuell
Git2.17aktuell

Schritt 1: Docker, Docker Compose und Git installieren

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

Docker auf dem Server installieren — distributionsabhängig:

Unter Windows oder macOS Docker Desktop installieren und die Befehle unten im Terminal ausführen.

Prüfen:

Terminal-Fenster
docker --version
docker compose version
Terminal-Fenster
cd /opt
sudo git clone https://github.com/Erik-Donath/znuny-docker.git /opt/znuny-docker
cd /opt/znuny-docker

docker-compose.yaml und Dockerfile vor dem Start prüfen — insbesondere Passwörter, Ports und das Build-Argument ZNUNY_VERSION.

docker-compose.yaml bearbeiten und alle Standard-Passwörter ersetzen:

db:
environment:
MYSQL_ROOT_PASSWORD: <sicheres_root_passwort>
MYSQL_PASSWORD: <sicheres_znuny_passwort>

Standardmäßig mappt Compose Znuny auf Port 8080 (8080:80). Host-Port anpassen, falls 8080 belegt ist.

Terminal-Fenster
sudo docker compose up --build -d

Beim ersten Lauf lädt Docker Basis-Images und baut das Znuny-App-Image — das kann einige Minuten dauern.

Prüfen, ob beide Container healthy sind:

Terminal-Fenster
sudo docker compose ps
sudo docker compose logs -f znuny-app

Erwartete Dienste:

ServiceRolle
znuny-appApache + Znuny-Anwendung, Cron, Daemon
dbMariaDB mit Znuny-tauglichen Einstellungen

Installer im Browser öffnen:

http://<server-ip>:8080/znuny/installer.pl

Beachten:

  • Datenbanktyp: MariaDB wählen.
  • Datenbank-Host: db (Compose-Servicename — nicht localhost).
  • DB-Benutzer / Passwort: Werte aus docker-compose.yaml (MYSQL_USER, MYSQL_PASSWORD).
  • Root-Passwort: MYSQL_ROOT_PASSWORD, wenn der Installer nach dem DB-Administrator fragt.

Nach Abschluss in die Agent-Oberfläche einloggen. Standard-Admin: root@localhost; das Passwort zeigt der Installer am Ende.

Znuny benötigt Cron und Daemon für Mail-Abruf, Eskalationen und Generic Agents. Das Erik-Donath-Image startet diese in znuny-app. Status prüfen:

Terminal-Fenster
sudo docker compose exec znuny-app bash
bin/Cron.sh status
exit

Falls Jobs nicht laufen: Container-Logs und offizielle Cron-Doku prüfen.

Terminal-Fenster
sudo docker compose exec znuny-app bash
bin/znuny.Console.pl --help

Daten liegen in benannten Volumes — nicht im Container-Dateisystem:

VolumeInhalt
znuny-varAnhänge, Cache, Sessions, Logs
znuny-configKernel/Config-Overrides
znuny-customCustom-Module und Erweiterungen
db-dataMariaDB-Datenbankdateien

Volumes (oder DB per mysqldump) sichern vor Updates. Siehe Znuny Docker im Betrieb.

Den gemappten Host-Port (Standard 8080) freigeben oder einen Reverse Proxy (Nginx, Traefik, Caddy) für HTTPS davor schalten.

  1. Datenbank-Volumes und znuny-var sichern.
  2. Neue ZNUNY_VERSION in docker-compose.yaml setzen.
  3. Neu bauen und starten:
Terminal-Fenster
sudo docker compose build znuny-app
sudo docker compose up -d
  1. Datenbank-Upgrade im Container:
Terminal-Fenster
sudo docker compose exec znuny-app bin/znuny.Console.pl Maint::Database::Upgrade
sudo docker compose exec znuny-app bin/znuny.Console.pl Maint::Cache::Delete

Offizielle Update-Anleitung für die Zielversion befolgen.

Installer erreicht die Datenbank nicht

  • Hostname db verwenden, nicht 127.0.0.1 — innerhalb des App-Containers zeigt localhost auf die App selbst.
  • Warten, bis docker compose ps die Datenbank als healthy anzeigt.

Port 8080 bereits belegt

Port-Mapping in docker-compose.yaml ändern, z. B. "9080:80", dann Stack neu starten.

Berechtigungsfehler auf Volumes

Docker muss in benannte Volumes schreiben können. Unter Linux Host-Bind-Mounts mit root-Besitz vermeiden oder Berechtigungen anpassen.

Logs anzeigen

Terminal-Fenster
sudo docker compose logs -f znuny-app
sudo docker compose logs -f db

Neustart oder Stopp

Terminal-Fenster
sudo docker compose restart
sudo docker compose down # Volumes bleiben erhalten
sudo docker compose down --volumes # löscht Daten — vorsichtig verwenden

Häufig gestellte Fragen

Stellt Znuny einen offiziellen Docker-Compose-Stack bereit?

Nein. Anders als bei manchen Forks gibt es keinen offiziellen Compose-Stack der Projektbetreuer. Community-Projekte wie Erik-Donath/znuny-docker schließen die Lücke für Test, Demo und Staging.

Welchen Datenbank-Host nutze ich im Web-Installer?

Den Compose-Servicenamen db, nicht localhost. Innerhalb des App-Containers zeigt localhost auf die Znuny-App selbst — MariaDB erreichen Sie über den Hostnamen db.