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
Docker-Stack auswählen
Abschnitt betitelt „Docker-Stack auswählen“| Stack | Geeignet für | Znuny-Versionen | Installer-URL |
|---|---|---|---|
| Erik-Donath/znuny-docker | Znuny 7.x, Web-Installer-Workflow | 7.1+ (beim Build konfigurierbar) | /znuny/installer.pl |
| juanluisbaptiste/docker-otrs | Ausgereifter All-in-One-Stack, Backups eingebaut | Znuny 6.x LTS | Vorkonfiguriert 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.
Systemvoraussetzungen
Abschnitt betitelt „Systemvoraussetzungen“| Komponente | Minimum | Empfohlen (Staging / Produktion) |
|---|---|---|
| CPU | 2 Kerne | 4+ Kerne |
| RAM | 4 GB | 8 GB oder mehr |
| Festplatte | 20 GB frei | 40 GB+ (SSD) |
| Docker | 20.10 | aktuell |
| Docker Compose | v2 | aktuell |
| Git | 2.17 | aktuell |
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:
docker --versiondocker compose versionSchritt 2: Compose-Projekt klonen
Abschnitt betitelt „Schritt 2: Compose-Projekt klonen“cd /optsudo git clone https://github.com/Erik-Donath/znuny-docker.git /opt/znuny-dockercd /opt/znuny-dockerdocker-compose.yaml und Dockerfile vor dem Start prüfen — insbesondere Passwörter, Ports und das Build-Argument ZNUNY_VERSION.
Schritt 3: Datenbank-Zugangsdaten konfigurieren
Abschnitt betitelt „Schritt 3: Datenbank-Zugangsdaten konfigurieren“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.
Schritt 4: Stack bauen und starten
Abschnitt betitelt „Schritt 4: Stack bauen und starten“sudo docker compose up --build -dBeim 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:
sudo docker compose pssudo docker compose logs -f znuny-appErwartete Dienste:
| Service | Rolle |
|---|---|
znuny-app | Apache + Znuny-Anwendung, Cron, Daemon |
db | MariaDB mit Znuny-tauglichen Einstellungen |
Schritt 5: Web-Installer abschließen
Abschnitt betitelt „Schritt 5: Web-Installer abschließen“Installer im Browser öffnen:
http://<server-ip>:8080/znuny/installer.plBeachten:
- Datenbanktyp: MariaDB wählen.
- Datenbank-Host:
db(Compose-Servicename — nichtlocalhost). - 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.
Schritt 6: Hintergrundjobs prüfen
Abschnitt betitelt „Schritt 6: Hintergrundjobs prüfen“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:
sudo docker compose exec znuny-app bashbin/Cron.sh statusexitFalls Jobs nicht laufen: Container-Logs und offizielle Cron-Doku prüfen.
Nach der Installation
Abschnitt betitelt „Nach der Installation“App-Container betreten
Abschnitt betitelt „App-Container betreten“sudo docker compose exec znuny-app bashbin/znuny.Console.pl --helpPersistente Daten (Volumes)
Abschnitt betitelt „Persistente Daten (Volumes)“Daten liegen in benannten Volumes — nicht im Container-Dateisystem:
| Volume | Inhalt |
|---|---|
znuny-var | Anhänge, Cache, Sessions, Logs |
znuny-config | Kernel/Config-Overrides |
znuny-custom | Custom-Module und Erweiterungen |
db-data | MariaDB-Datenbankdateien |
Volumes (oder DB per mysqldump) sichern vor Updates. Siehe Znuny Docker im Betrieb.
Firewall
Abschnitt betitelt „Firewall“Den gemappten Host-Port (Standard 8080) freigeben oder einen Reverse Proxy (Nginx, Traefik, Caddy) für HTTPS davor schalten.
Znuny aktualisieren
Abschnitt betitelt „Znuny aktualisieren“- Datenbank-Volumes und
znuny-varsichern. - Neue
ZNUNY_VERSIONindocker-compose.yamlsetzen. - Neu bauen und starten:
sudo docker compose build znuny-appsudo docker compose up -d- Datenbank-Upgrade im Container:
sudo docker compose exec znuny-app bin/znuny.Console.pl Maint::Database::Upgradesudo docker compose exec znuny-app bin/znuny.Console.pl Maint::Cache::DeleteOffizielle Update-Anleitung für die Zielversion befolgen.
Fehlerbehebung
Abschnitt betitelt „Fehlerbehebung“Installer erreicht die Datenbank nicht
- Hostname
dbverwenden, nicht127.0.0.1— innerhalb des App-Containers zeigtlocalhostauf die App selbst. - Warten, bis
docker compose psdie 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
sudo docker compose logs -f znuny-appsudo docker compose logs -f dbNeustart oder Stopp
sudo docker compose restartsudo docker compose down # Volumes bleiben erhaltensudo docker compose down --volumes # löscht Daten — vorsichtig verwendenNächste Schritte
Abschnitt betitelt „Nächste Schritte“- Znuny Docker im Betrieb — Konsolenbefehle, Pakete, Backups, Produktiv-Tipps
- Staging-System — sichere Testumgebung vor Produktionsänderungen
- Znuny REST API — Integrationen aus dem Container-Stack
- Offizielle Installation — Bare-Metal- und RPM/Source-Installation
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.