Umgebungsvariablen
Unten finden Sie die wichtigsten Umgebungsvariablen mit Standardwerten (als badge), falls zutreffend. Die Variablen für Docker- und Paketinstallationen können in einigen Fällen unterschiedlich sein. Sie können dazu ein weiteres Badge an Variablennamen finden, das die folgende Bedeutung hat:
- Nur für Docker-Installationen verfügbar:
- Nur für Paketinstallationen verfügbar:
- Verfügbar für beide Installationsvarianten: kein Icon
TIP
Wenn Sie eine .env-Datei in Docker Compose-Installationen verwenden möchten, können Sie die mitgelieferte .env.dist-Datei verwenden und sie als .env kopieren. Auf diese Weise wird sie von Docker Compose automatisch übernommen und bei Aktualisierungen nicht überschrieben.
Verschiedenes
GPG_PATH- Legen Sie den Pfad zu Ihrer GPG-Installation fest. Nur erforderlich, wenn Sie unterschiedliche Versionen von PGP verwenden möchten oder Ihre PGP-Installation von der Standardinstallation abweicht.
RAILS_LOG_TO_STDOUT- Diese Einstellung kann während einer Aktualisierung bei Paketinstallationen überschrieben werden. Verwenden Sie
enabled, um diese Option nur bis zur nächsten Aktualisierung zu aktivieren. Verwenden Sietrue, um sie dauerhaft zu aktivieren. ZAMMAD_SAFE_MODE- Vorsicht beim Ausführen von Zammad-Befehlen im Safe-Mode. Obwohl dieser möglicherweise einen Ausweg für bestimmte Befehle bietet, kann die normale Ausführung von Zammad beeinträchtigt werden.
ZAMMAD_BIND_IP127.0.0.1
- Die IP-Adresse, an die der Webserver gebunden ist.
S3_URL- Ermöglicht Ihnen die Angabe Ihrer S3-Speicheranbieter-Konfiguration. Beispiel für einen Wert:
https://key:secret@s3.eu-central-1.amazonaws.com/zammad-storage-bucket?region=eu-central-1&force_path_style=true
Zammad
VERSIONaktuelle stabile Version von Zammad
- Ermöglicht die Anpassung des Image-Tags. Beispiel:
6.3.1-54. Diese Standardversion kann erhöht werden, wenn Sie Ihren Zammad-Docker-Stack aktualisieren. Weitere Informationen zu der Variablen finden Sie in der Beispiel-env-Datei. AUTOWIZARD_JSON- Diese Variable ermöglicht es Ihnen, eine initiale Konfiguration für Ihre Instanz bereitzustellen. Autowizard JSON ist nicht Bestandteil dieser Dokumentation, Sie können jedoch einen Blick in die Beispiel-Datei werfen.
ZAMMAD_HTTP_TYPE- Legen Sie den HTTP-Typ für Ihre Instanz fest. Mögliche Werte sind
httpundhttps.
ZAMMAD_FQDN: Legen Sie den FQDN für Ihre Instanz fest.
RAILS_TRUSTED_PROXIES127.0.0.1,::1Diese Einstellung ist wichtig für die korrekte Erkennung von Client-IP-Adressen und Funktionen, die darauf basieren, wie z.B. Rate-Limiting.
Standardmäßig vertraut Zammad nur localhost-Proxys. Zusätzliche Proxyserver müssen hier hinzugefügt werden, entweder per IP-Adresse (wenn statisch) oder mit Hostnamen. Hostnamen werden beim Start von Zammad aufgelöst, sodass ein Neustart erforderlich ist, wenn sich die IP-Adresse eines Proxyservers ändert.
Beachten Sie, dass Zammad im Docker-Kontext die IP-Adresse des Netzwerk-Gateways anstelle der tatsächlichen IP-Adresse des Proxyservers sehen kann, wenn es sich in einem anderen Netzwerk befindet.
ZAMMAD_MANAGE_SESSIONS_JOBS_WORKERS0Ermöglicht das Abspalten des Jobs, der die Session-Jobs an die Worker verteilt, in einen Kindprozess. Erlaubter Wert zur Aktivierung:
1.ZAMMAD_PROCESS_DELAYED_AI_JOBS_WORKERS0Ein solcher Worker bearbeitet Zammads KI-Anfragen und holt die Antworten vom konfigurierten KI-Anbieter ab. Diese Variable erlaubt Ihnen, die Anzahl der gleichzeitig ausgeführten Worker anzugeben.
0bedeutet, dass ein Thread im Hauptprozess verwendet wird,1bedeutet, dass ein separater Worker gestartet wird usw. Die maximale Anzahl von Workern beträgt16. Siehe auchZAMMAD_PROCESS_DELAYED_AI_JOBS_WORKERS_THREADS.Selbst hostende KI-Nutzer sollten bei der Erhöhung vorsichtig sein, da ihr KI-Dienst zusammenbrechen könnte. Für KI-Cloud-Dienst-Nutzer mit einer großen Zammad-Instanz kann eine Erhöhung sinnvoll sein, um eine Art Parallelisierung zu erreichen.
ZAMMAD_PROCESS_DELAYED_AI_JOBS_WORKERS_THREADS5Wie viele Threads von einem einzelnen KI-Worker verarbeitet werden sollen (falls Sie mehrere Worker-Prozesse ausführen, wird diese Zahl multipliziert). Dies kann die KI-Verarbeitung beschleunigen, aber beachten Sie, dass ein Ruby-Worker ohnehin nicht mehr als einen Kern nutzen kann. Die maximale Anzahl an Threads beträgt
16.ZAMMAD_PROCESS_DELAYED_COMMUNICATION_INBOUND_JOBS_WORKER0Ermöglicht das gleichzeitige Abrufen eingehender Kommunikationskanäle. Nützlich, wenn Sie viele Kanäle und/oder Postfächer hinzugefügt haben.
0bedeutet, dass ein Thread im Hauptprozess verwendet wird,1bedeutet, dass ein separater Worker gestartet wird usw. Die maximale Anzahl an Workern beträgt16.ZAMMAD_PROCESS_DELAYED_COMMUNICATION_INBOUND_JOBS_WORKER_THREADS1Threads, die zum Abrufen eingehender Kommunikationskanäle verwendet werden. Wie viele Threads sollen von einem einzelnen Inbound-Jobs-Worker verarbeitet werden (falls Sie mehrere Worker-Prozesse ausführen, wird dies multipliziert). Die maximale Anzahl an Threads beträgt
16.MEMCACHE_SERVERSDocker: zammad-memcached:11211 Package: nicht gesetztStellen Sie Ihrem eigenen Memcached-Dienst zur Verfügung, falls Sie bereits einen haben. Der Fallback bei Paketinstallationen ist
/opt/zammad/tmp/cache*.REDIS_URLDocker: redis://zammad-redis:6379 Package: nicht gesetztGeben Sie Ihre eigene Redis-Instanz an, falls Sie bereits eine haben. Der Fallback bei Paketinstallationen ist
/opt/zammad/tmp/websocket_*. Informationen zur Sentinel-Konfiguration finden Sie unter Redis-Variablen.
Elasticsearch
ELASTICSEARCH_ENABLEDtrue
- Das Setzen dieser Variablen auf
falseermöglicht es Ihnen, Zammad ohne Elasticsearch zu betreiben. Bitte beachten Sie, dass wir dringend davon abraten. ELASTICSEARCH_HOSTzammad-elasticsearch
- Geben Sie einen Hostnamen oder eine Adresse Ihres externen Elasticsearch-Clusters an.
ELASTICSEARCH_PORT9200
- Geben Sie einen anderen Port für Elasticsearch an, falls notwendig.
ELASTICSEARCH_SCHEMAhttp
- Ändern Sie es in
https, falls Ihr Elasticsearch-Cluster für die Verwendung mit SSL konfiguriert ist. ELASTICSEARCH_NAMESPACEzammad
- Mit diesem Namensraum werden alle Zammad-bezogenen Indizes erstellt. Ändern Sie dies, wenn Sie externe Cluster verwenden.
ELASTICSEARCH_REINDEX- Der Suchindex wird automatisch neu aufgebaut, wenn kein Index gefunden werden kann. Wenn Sie den Suchindex manuell neu aufbauen müssen, setzen Sie diese Variable auf
trueoder führen Sie den Reindex-Befehl manuell per Docker aus. ELASTICSEARCH_SSL_VERIFYtrue
- Ermöglicht, dass selbst signierte Zertifikate durch die Compose-Skripte ignoriert werden, falls erforderlich.
ELASTICSEARCH_HEAP_SIZE1G
- Legen Sie die verfügbare Speichermenge für Elasticsearch fest. Wenn Sie Probleme mit ES und dessen Leistung haben, sollten Sie diesen Wert auf eine angemessene Größe erhöhen.
PostgreSQL
TIP
Variablen für Docker- und Paketinstallationen sind teilweise unterschiedlich. Überprüfen Sie die entsprechende Kennzeichnung und stellen Sie sicher, dass Sie die richtige auswählen. Beide Variablen am Ende dieses Bereichs sind für beide Installationstypen gültig.
POSTGRESQL_HOSTzammad-postgresql
- Hostname oder IP-Adresse Ihres PostgreSQL-Servers. Falls Sie eine IPv6-Adresse verwenden, setzen Sie diese in eckige Klammern (z.B.
[2001:db8::2]). POSTGRESQL_PORT5432
- Passen Sie den Port Ihres PostgreSQL-Servers an.
POSTGRESQL_USERzammad
- Der Datenbankbenutzer für Zammad.
POSTGRESQL_PASSzammad
- Das Passwort des Zammad-Datenbankbenutzers.
POSTGRESQL_DBzammad_production
- Die von Zammad verwendete Datenbank.
POSTGRES_HOSTzammad-postgresql
- Hostname oder IP-Adresse Ihres PostgreSQL-Servers. Verwenden Sie im Falle einer IPv6-Adresse eckige Klammern (z. B.
[2001:db8::2]). POSTGRES_PORT5432
- Passen Sie den Port Ihres PostgreSQL-Servers an.
POSTGRES_USERzammad
- Der Datenbankbenutzer für Zammad.
POSTGRES_PASSzammad
- Das Passwort des Zammad-Datenbankbenutzers.
POSTGRES_DBzammad_production
- Die von Zammad zu verwendende Datenbank.
POSTGRESQL_OPTIONS?pool=50- Zusätzliche PostgreSQL-Parameter, die der Datenbank-URI angehängt werden.
POSTGRESQL_DB_CREATEtrue- Standardmäßig erstellt Zammad die benötigte Datenbank. Auf bereits existierenden Datenbankservern kann dies jedoch problematisch sein.
Nginx
NGINX_EXPOSE_PORT8080
- Der Port, der für den Zugriff auf den Zammad-Stack von außen freigegeben wird. Ändern Sie diesen Wert, wenn bereits ein Dienst auf diesem Port läuft.
NGINX_PORT8080
- Der interne Port, auf dem der Nginx-Dienst lauscht.
NGINX_SERVER_NAME_
- Standardmäßig antwortet der Nginx-Container von Zammad auf alle Anfragen. Sie können Ihre IP / FQDN angeben, wenn Sie möchten.
NGINX_SERVER_SCHEME\$scheme
- Wenn der Nginx-Container für Zammad nicht der vorgelagerte Server ist (d.h. Sie verwenden einen anderen Proxy vor Nginx), könnte
$schemefalsch sein. Sie können das korrekte Schemahttpoderhttpsfestlegen, falls erforderlich. Setzen Sie dies, wenn Sie eineCSRF Token Verification FailedFehlermeldung erhalten. NGINX_CLIENT_MAX_BODY_SIZE- Definieren Sie die maximale Größe der Daten, die ein Client an den Server senden kann.
ZAMMAD_RAILSSERVER_HOSTzammad-railsserver
- Hostname des Rails-Server-Containers.
ZAMMAD_RAILSSERVER_PORT3000
- Port des Zammad Rails-Servers.
ZAMMAD_RAILS_PORT3000
- Port des Zammad Rails-Servers.
ZAMMAD_WEBSOCKET_HOSTzammad-websocket
- Hostname des Zammad-Websocket-Servers.
ZAMMAD_WEBSOCKET_PORT6042
- Port des Websocket-Servers von Zammad.
Leistungsoptimierung
Jede der unten aufgeführten Einstellungen bringt ihre eigenen Kompromisse mit sich. Es gibt hier keine empfohlenen Werte; die optimale Konfiguration hängt von den Ressourcen Ihres Systems und der typischen Anwendungslast ab.
Gehen Sie mit Vorsicht vor. Wenn Sie eine dieser Einstellungen anpassen, gibt es einen Punkt, an dem sich die Leistung eher verschlechtert als verbessert, oder andere Probleme auftreten.
Die nachstehenden Einstellungen können alle verfügbaren Datenbank-Verbindungen verwenden. Bitte beachten Sie die Datenbankserver-Konfiguration für weitere Informationen.
ZAMMAD_WEB_CONCURRENCYErmöglicht das Starten von
nWorkern, um mehr gleichzeitige Verbindungen für Zammads Web-Oberfläche zu ermöglichen. Falls Sie Ressourcenbegrenzung für Docker angewendet haben, sollte die CPU-Einstellung des zammad-railsservers dem Wert dieser Variablen entsprechen.ZAMMAD_PROCESS_SESSION_JOBS_WORKERSWie viele Prozesse des Session-Workers gleichzeitig ausgeführt werden sollen. Das Erhöhen dieses Wertes kann Hintergrundaufgaben (wie die Automatisierung) beschleunigen, wenn viele Benutzer gleichzeitig Zammad nutzen. Es ist jedoch nicht sinnvoll, diese Einstellung anzupassen, wenn Sie weniger als 40 aktive Benutzer gleichzeitig haben. Das Erhöhen der Anzahl dieser Prozesse kann viele Ressourcen verbrauchen!
Falls Sie Ressourcenbegrenzung für Docker angewendet haben, sollte die CPU-Einstellung von zammad-scheduler mit der Summe aller Worker-Variablen übereinstimmen.
ZAMMAD_PROCESS_SCHEDULED_JOBS_WORKERErmöglicht das Starten von
1unabhängigem Aufgaben-Worker für geplante Jobs, um den Background-Worker zu entlasten. Maximale Anzahl an Workern:1.Falls Sie Ressourcenbegrenzung für Docker angewendet haben, sollte die CPU-Einstellung von zammad-scheduler mit der Summe aller Worker-Variablen übereinstimmen.
ZAMMAD_PROCESS_DELAYED_JOBS_WORKERSErmöglicht das Starten von
nWorker-Prozessen zur Entlastung des Hintergrund-Workers von Zammad.0bedeutet, dass ein Thread im Hauptprozess verwendet wird,1bedeutet, dass ein separater Worker gestartet wird usw. Die maximale Anzahl von Workern beträgt16.Falls Sie Ressourcenbegrenzung für Docker angewendet haben, sollte die CPU-Einstellung von zammad-scheduler mit der Summe aller Worker-Variablen übereinstimmen.
ZAMMAD_PROCESS_DELAYED_JOBS_WORKER_THREADSThreads, die von einem "Delayed Jobs Worker" verwendet werden (falls Sie mehr als einen Worker-Prozess haben, wird dies mit deren Anzahl multipliziert). Die maximale Anzahl von Threads beträgt
16.
HTTP Client Einstellungen
Globale HTTP-Timeout-Einstellungen. Diese Variablen steuern das Standard-Timeout-Verhalten für den internen HTTP-Client von Zammad bei der Verbindung mit externen Diensten (z.B. OAuth-Anbietern, Webhooks oder Integrationen).
ZAMMAD_HTTP_OPEN_TIMEOUT30- Legt die maximale Zeit in Sekunden fest, die gewartet wird, bis eine Verbindung zu einem externen Server hergestellt wird (z.B. falls Sie eine langsame Verbindung haben).
ZAMMAD_HTTP_READ_TIMEOUT60- Legt die maximale Zeit in Sekunden fest, die nach dem Aufbau einer Verbindung auf eine Antwort gewartet wird (z.B. falls Sie eine langsame Verbindung oder langsame Antwortzeiten auf externer Seite haben).
Umgebungsvariablen setzen
Es hängt davon ab, wie Sie Zammad installiert haben (Paket, Docker). Entweder setzen Sie sie über den Befehl zammad config, wie Sie unten sehen können, verwenden die Art und Weise Ihres Systems, Variablen über die Kommandozeile zu setzen (z.B. export VARIABLE=wert), legen eine .env Datei in das Verzeichnis oder Sie verwenden sogar eine GUI wie Portainer, um Variablen für eine Docker-Installation zu setzen.
Beispiele für Paketinstallationen:
Setzen Sie OPTION auf "wert":
zammad config:set OPTION=wertOPTION abfragen:
zammad config:get OPTIONOPTION entfernen:
zammad config:unset OPTIONStarten Sie Zammad nach der Änderung der Einstellungen neu:
sudo systemctl restart zammad