Znuny Docker – Setup, docker-compose & Befehle (2026)
Verwandte Themen: Docker-Compose-Installation · Staging- & Testsystem · Znuny REST API · Add-ons & Plugins · OpenTicketAI
Einführung
Abschnitt betitelt „Einführung“Mit Znuny Docker betreiben Sie das Ticketsystem in isolierten Containern: gleiche Laufzeitumgebung auf jedem Host, klare Trennung von Diensten und einfaches Hoch- und Herunterfahren des Stacks. Docker eignet sich besonders für Demos, Testsysteme und Staging — bevor Sie Änderungen in Produktion ausrollen.
Erste Docker-Installation? Schritt-für-Schritt-Anleitung: Znuny mit Docker Compose installieren.
Verfügbare Docker-Stacks
Abschnitt betitelt „Verfügbare Docker-Stacks“| Projekt | Znuny-Versionen | Highlights | Installer-Pfad |
|---|---|---|---|
| Erik-Donath/znuny-docker | 7.1+ | Apache, Cron, Daemon, MariaDB, Healthchecks | /znuny/installer.pl |
| juanluisbaptiste/docker-otrs | 6.x LTS | Ausgereifter Stack, Auto-Backups, SMTP-Relay, Upgrade-Hilfen | /otrs/ (Legacy-Pfad) |
| nyanmark/znuny-docker | variiert | Minimales Nginx- + PostgreSQL-Beispiel | /otrs/installer.pl |
Vor dem Einsatz außerhalb lokaler Tests: Repository-Aktivität, offene Issues und Znuny-Versionsunterstützung prüfen.
Schnellstart mit Docker Compose
Abschnitt betitelt „Schnellstart mit Docker Compose“Typischer Ablauf (Details je nach Compose-File):
- Docker installieren — siehe Ubuntu oder Debian
- Compose-Projekt klonen (z. B. Erik-Donath/znuny-docker)
- Standard-Passwörter in
docker-compose.yamlersetzen - Starten:
docker compose up --build -d - Web-Installer öffnen (Znuny 7.x:
http://<host>:8080/znuny/installer.pl) - Datenbank-Host
db(Compose-Servicename) verwenden, nichtlocalhost - Nach Versions-Updates:
Maint::Database::Upgradeim App-Container
docker compose up -ddocker compose psdocker compose logs -f znuny-appVollständige Anleitung: Docker-Compose-Installation.
Testsystem, Demo und Staging mit Docker
Abschnitt betitelt „Testsystem, Demo und Staging mit Docker“Ein Znuny-Testsystem oder Demo-Umgebung lässt sich mit Docker schnell aufsetzen:
| Ziel | Empfehlung |
|---|---|
| Lokale Demo | Kleiner Compose-Stack auf Entwickler-PC oder VM |
| Testsystem / Staging | Separate Compose-Instanz, Produktivdaten anonymisiert |
| CI/E2E-Tests | Ephemerer Stack in Pipeline, danach docker compose down |
Vollständiger Ablauf für Staging (Datenkopie, E-Mail abschalten, Absicherung): Znuny Staging-System.
Docker vs. klassische Installation
Abschnitt betitelt „Docker vs. klassische Installation“Praktische Unterschiede:
| Thema | Docker | Klassisch (doc.znuny.org) |
|---|---|---|
| Setup | Compose-File + Images | Apache, MariaDB/PostgreSQL, Perl-Module unter Linux |
| Konfiguration | docker-compose.yaml, Umgebungsvariablen, Volumes | Host-Pakete, Config.pm, SysConfig |
| Persistenz | Benannte Volumes oder Bind-Mounts nötig | Dateisystempfade auf dem Server |
| Updates | Image neu bauen + Maint::Database::Upgrade | Paket/Tar-Upgrade + Konsolen-Migration |
| Hintergrundjobs | Cron/Daemon im App-Container oder eigener Service | Cron.sh, systemd |
| Offizieller Support | Nur Community-Stacks | Von Znuny dokumentiert |
Typische Container in Compose-Stacks
Abschnitt betitelt „Typische Container in Compose-Stacks“Viele Znuny-Docker-Setups verteilen die Arbeit auf mehrere Dienste. Namen wie znuny_web_1 sind nur Beispiele — Docker Compose vergibt Namen nach Projekt- und Servicenamen. Vor Befehlen immer mit docker ps prüfen.
Häufige Rollen:
- Web / App — HTTP-Zugang (Apache + mod_perl oder PSGI)
- Datenbank — MariaDB oder PostgreSQL mit persistentem Volume
- Daemon / Scheduler — Hintergrundjobs (E-Mail, Generic Agent, Eskalationen)
- SMTP-Relay (optional) — ausgehende Mail in Stacks wie juanluisbaptiste
- Reverse-Proxy (optional) — Nginx oder Traefik für HTTPS
Der Erik-Donath-Stack kombiniert Web, Cron und Daemon in einem znuny-app-Container plus separatem db-Container.
Was sind Docker-Container?
Abschnitt betitelt „Was sind Docker-Container?“Container isolieren Prozesse und Dateisystem-Sichten, nutzen aber denselben Host-Kernel — sie sind dadurch leichter als vollständige virtuelle Maschinen. Persistente Daten liegen in Volumes oder gemounteten Verzeichnissen; das Container-Dateisystem selbst ist vergänglich.
Docker-Dienst steuern (Linux mit systemd)
Abschnitt betitelt „Docker-Dienst steuern (Linux mit systemd)“Unter Linux mit systemd ist Docker üblicherweise ein Systemdienst:
- Dienst starten:
sudo systemctl start docker - Autostart aktivieren:
sudo systemctl enable docker - Dienst stoppen:
sudo systemctl stop docker - Status prüfen:
sudo systemctl status docker
Auf Docker Desktop (Windows/macOS) übernimmt die Anwendung den Daemon — dort entfallen diese systemctl-Befehle.
Container listen und steuern
Abschnitt betitelt „Container listen und steuern“- Laufende Container:
docker ps - Alle Container:
docker ps -a - Images:
docker images - Logs:
docker logs <container-name>(fortlaufend:docker logs -f <container-name>) - Einzelnen Container starten/stoppen:
docker start <name>/docker stop <name>
Mit Docker Compose (v2):
- Stack starten:
docker compose up -d - Stoppen:
docker compose down(ohne Volumes zu löschen, sofern nicht--volumes) - Nach Konfigurationsänderung neu bauen:
docker compose up --build -d
Znuny-Konsolenbefehle im Container
Abschnitt betitelt „Znuny-Konsolenbefehle im Container“Shell im richtigen Container
Abschnitt betitelt „Shell im richtigen Container“docker psdocker compose exec znuny-app bashServicenamen variieren je nach Stack — znuny-app, web, znuny sind üblich. docker compose ps zeigt Ihre Namen.
znuny.Console.pl ausführen
Abschnitt betitelt „znuny.Console.pl ausführen“Aus dem Znuny-Installationsverzeichnis im Container — typisch /opt/znuny bei Znuny-7.x-Stacks:
bin/znuny.Console.pl --helpbin/znuny.Console.pl Maint::Database::Upgradebin/znuny.Console.pl Maint::Cache::Deletebin/znuny.Console.pl Maint::Config::RebuildÜberblick Kommandozeile (CLI)
znuny.Console.pl erledigt administrative Aufgaben ohne Web-UI:
- Maint::Cache::Delete — Cache löschen
- Maint::Config::Rebuild — SysConfig neu aufbauen
- Admin::Package::Install — OPM-Paket installieren
- Admin::Package::UpgradeAll — Pakete aus Repos aktualisieren
- Maint::Test::System — System-Selbsttest
Migration und Updates
Beim Umstieg von OTRS oder bei Upgrades gelten besondere Reihenfolgen und Backups:
- Dev::Tools::Migrate::OTRSToZnuny — Migrationswerkzeug (Verfügbarkeit je Version prüfen)
- Admin::Package::UpgradeAll — installierte Pakete aktualisieren
Immer Backup von Datenbank und Volumes vor größeren Schritten. Zuerst in Staging testen.
Volumes, Backup und Wiederherstellung
Abschnitt betitelt „Volumes, Backup und Wiederherstellung“Benannte Volumes (Erik-Donath-Stack)
Abschnitt betitelt „Benannte Volumes (Erik-Donath-Stack)“| Volume | Inhalt |
|---|---|
znuny-var | Anhänge, Cache, Sessions, Logs |
znuny-config | Kernel/Config |
znuny-custom | Custom-Code |
db-data | MariaDB-Datenbankdateien |
Backup-Varianten
Abschnitt betitelt „Backup-Varianten“Datenbank-Dump (funktioniert bei jedem Stack):
docker compose exec db mysqldump -u root -p znuny > znuny-backup-$(date +%F).sqlVolume-Archiv (Stack vorher stoppen für Konsistenz):
docker compose downsudo tar -czf znuny-volumes-$(date +%F).tar.gz /var/lib/docker/volumes/docker compose up -djuanluisbaptiste-Stack — eingebaute tägliche Backups unter /var/otrs/backups; konfigurierbar über OTRS_BACKUP_TIME, OTRS_BACKUP_TYPE und weitere Umgebungsvariablen. Siehe Projekt-README.
Für Backups sind DB-Volumes und Znuny-Daten (var, Anhänge, Konfiguration) relevant — nicht nur ein Datenbank-Dump.
Pakete und Add-ons im Docker-Container
Abschnitt betitelt „Pakete und Add-ons im Docker-Container“OPM-Pakete installieren Sie im App-Container wie auf einem klassischen Server:
docker compose exec znuny-app bashbin/znuny.Console.pl Admin::Package::Install /tmp/mein-paket.opmbin/znuny.Console.pl Maint::Config::Rebuildbin/znuny.Console.pl Maint::Cache::DeleteOPM-Dateien zuerst in den Container kopieren (docker cp) oder ein Host-Verzeichnis mounten.
Verfügbare Znuny Add-ons auf OpenITSMHub — Übersicht: Znuny Add-ons.
Produktions-Hinweise
Abschnitt betitelt „Produktions-Hinweise“- Standard-Passwörter in Compose-Dateien vor dem ersten Start ändern.
- TLS: Reverse Proxy oder Zertifikate mounten (Erik-Donath: Volume
apache-certs). - Ressourcen: für Staging 8 GB RAM einplanen; mehr bei Elasticsearch oder schweren Integrationen.
- E-Mail: auf Testsystemen ausgehende Mail deaktivieren (
SendmailModule→Kernel::System::Email::DoNotSendEmailin SysConfig). - Monitoring:
docker compose ps, Healthchecks und Cron/Daemon-Logs beobachten. - Updates:
Maint::Database::Upgradenach Image-Updates nicht überspringen.
Migration von OTRS
Abschnitt betitelt „Migration von OTRS“Backup, Paket-Migration und Datenbank-Upgrade planen. Hilfreiche Konsolenbefehle: Dev::Tools::Migrate::OTRSToZnuny, Admin::Package::UpgradeAll — nach offizieller Migrationsdoku und mit Staging-Test vor Produktion.
juanluisbaptiste-basierte Stacks können OTRS-Backup-Verzeichnisse mit OTRS_INSTALL=restore wiederherstellen — siehe Projektdokumentation.
Weiterführende Hinweise
Abschnitt betitelt „Weiterführende Hinweise“- Docker-Compose-Installation — vollständige Installationsanleitung
- Offizielle Dokumentation: doc.znuny.org
- Znuny REST API — Integrationen aus dem Container-Stack
- OpenITSMHub – Znuny Plugins — Erweiterungen und Pakete
- Compose-Projektname und Servicenamen aus eigener
docker-compose.yamlunddocker psableiten — Copy-Paste von Container-Namen aus Anleitungen schlägt fehl, wenn sich das Projekt unterscheidet.
Häufig gestellte Fragen
Gibt es ein offizielles Znuny-Docker-Image?
Nein. Znuny stellt kein offizielles Docker-Image oder Compose-Stack bereit. Docker-Setups pflegen Community-Projekte; für Produktionsarchitektur folgen Sie doc.znuny.org.
Wie führe ich Znuny-Konsolenbefehle in Docker aus?
Öffnen Sie eine Shell im App-Container (z. B. docker compose exec znuny-app bash) und starten Sie bin/znuny.Console.pl im Znuny-Installationsverzeichnis, typisch /opt/znuny.
Eignet sich Docker für ein Znuny-Test- oder Staging-System?
Ja. Mit Docker Compose lassen sich Demos, Testsysteme und Staging schnell aufsetzen, bevor Sie Änderungen in Produktion ausrollen.