Skip to content

Docker-Installation

Zammad kann mit Docker-Compose installiert werden. Sie können sogar grafische Docker-Frontends wie Portainer verwenden.

INFO

Wir bieten keinen Support in Bezug auf Docker (-Compose) oder Portainer-spezifische Probleme. Wenn Sie sich dafür entscheiden, Zammad per Docker zu installieren, kann Support nur für Zammad als Anwendung geleistet werden.

Voraussetzungen

  • Eine funktionierende Docker Compose-Umgebung

  • Mindestens 4GB Arbeitsspeicher zum Ausführen der Container

  • Passen Sie die Einstellungen Ihres Hosts an, damit Elasticsearch ordnungsgemäß läuft:

    sh
    sysctl -w vm.max_map_count=262144

Installation mit Portainer

Der einfachste Weg, Zammad zum Laufen zu bringen, ist über eine grafische Docker-Oberfläche. Wir empfehlen Portainer. Installationsanweisungen finden Sie in der Portainer Dokumentation.

Schritt 1: Stack hinzufügen

Wählen Sie in der Portainer-GUI (z.B. https://yourdomain.tld:9443) Ihre Zielumgebung aus, wählen Sie Stacks und wählen Sie Add stack, wie Sie im Screenshot unten sehen können.

Screenshot mit Abschnitt Stack und markiertem "Add Stack" in
Portainer.

Schritt 2: Aus dem Repository erstellen

Wechseln Sie zur Repository "Build Method" und geben Sie die folgenden Informationen an:

  • Name: Geben Sie einen Namen für den Stack ein
  • Repository URL: https://github.com/zammad/zammad-docker-compose
  • Repository reference: refs/heads/master
  • Compose path: docker-compose.yml (default)

In manchen Fällen ist die Standardvariante nicht das, was ein Benutzer von Docker-Compose haben möchte. Sie können den Stack mit vordefinierten Szenarien erstellen und Umgebungsvariablen verwenden. Springen Sie zum Punkt Anpassen des Zammad Stacks unten für weitere Informationen.

Stack-Erstellung mit Informationen aus der
Repository-Ansicht

Schritt 3: Starten des Stacks

Klicken Sie schließlich auf die Schaltfläche Deploy the stack. Beim ersten Mal kann es einige Zeit dauern, bis die Docker-Images abgerufen werden.

Nachdem der Stack hochgefahren ist, können Sie über den konfigurierten Docker-Host und -Port auf Zammad zugreifen, z.B. http://localhost:8080/.

Installation mit Docker-Compose

Schritt 1: Klonen des GitHub Repo

sh
git clone https://github.com/zammad/zammad-docker-compose.git

Stellen Sie sicher, dass Sie git pull regelmäßig ausführen, um Aktualisierungen zu erhalten. Alternativ können Sie die Dateien auch von der Release Seite herunterladen.

Schritt 2: Umgebung nach Bedarf anpassen

In manchen Fällen ist die Standardvariante nicht das, was ein Benutzer von Docker-Compose haben möchte. Sie können den Stack mit vordefinierten Szenarien erstellen und Umgebungsvariablen verwenden. Springen Sie zum Punkt anpassen des Zammad Stacks unten für weitere Informationen.

Schritt 3: Starten des Stacks

sh
cd zammad-docker-compose
sh
docker compose up -d

Optional: Verwenden Sie eine zusätzliche .yml-Datei, um ein vordefiniertes Szenario zu verwenden. Springen Sie zum Bereich Anpassen des Zammad-Stacks für weitere Informationen.

Nachdem der Stack hochgefahren ist, können Sie über den konfigurierten Host und -Port auf Zammad zugreifen, z.B. http://localhost:8080/.

Stack per HTTPS freigeben

Um einen Zammad-Stack im Internet zu veröffentlichen, muss er über das HTTPS-Protokoll gesichert werden. Um dies zu erreichen, ohne den Zammad-Stack zu verändern, können Sie:

  • Verwenden Sie einen Reverse-Proxy wie Nginx Proxy Manager (NPM). Er hat eine grafische Benutzeroberfläche, die eine einfache Letsencrypt-Integration ermöglicht.
  • Verwenden Sie einen Cloudflare-Tunnel, der eine SSL-Terminierung ermöglicht.

Beide Szenarien werden auf der separaten Seite Docker Compose Szenarien beschrieben.

Anpassen des Zammad-Stacks

Der Zammad-Stack kann durch das Laden zusätzlicher Szenario-Dateien für gängige Anwendungsfälle angepasst werden. Sie können den Stack zum Beispiel mit einem integrierten Nginx Proxy Manager (NPM) oder mit deaktivierten Postgres- oder Elasticsearch-Diensten bereitstellen, falls Sie diese Dienste bereits nutzen.

Bitte lesen Sie auf Docker Compose Szenarien weiter.

Um den Stack und die Einstellungen anzupassen, verwenden Sie Docker-spezifische Umgebungsvariablen.

Ausführen von Befehlen im Stack

Das Docker-Entrypoint-Skript richtet Umgebungsvariablen ein, die Zammad benötigt, um ordnungsgemäß zu funktionieren. Deshalb sollte der Aufruf von rails oder rake auf der Konsole über eine der folgenden Methoden erfolgen:

Direktes Ausführen eines bestimmten Befehls:

Gehen Sie in Ihrem Portainer GUI zur Containeransicht und wählen Sie den laufenden Rails-Container aus Ihrem Zammad-Stack aus. Klicken Sie auf das Symbol Exec Console in der Spalte "Quick Actions".

Ausführung der Portainer-Konsole

Wählen Sie im Dialogfeld "Execute" den Entry point "rails console", wie Sie im Screenshot sehen können:

Portainer Execute Befehl