====== Zammad ======
| Verantwortung | Malte |
| Container | zammad |
| W. Ports | keine |
| OS | Debian 12.5 |
| Server | [[infrastruktur:server:magrathea]] |
| Zustand | Produktiv |
{{tag>infrasystem container magrathea productive malte ssoenabled}}
Hier findet sich die technische Dokumentation des Chaotikum Ticketsystems. [[hackspace:infrastruktur:zammad|Die Nutzungshinweise finden sich noch nirgendwo. Wir sind im Testbetrieb]].
===== TODO =====
Die [[https://zammad.com/de/releases/6-0|Release Notes von Zammad 6]] behaupten, wir brauchen andere Websocket-Weiterleitungs-Dinge im Reverse-Proxy. Brauchen wir das wirklich?
Der Updater von Postgres behauptet, die aktuelle Version 13 ist obsolet und muss manuell aktualisiert werden:
{{:infrastruktur:container:screenshot_2023-06-30_at_00.24.20.png?400|}}
===== Services =====
^ Serviceübersicht ^ Version ^
| Elasticsearch | 7.17.20 |
| Zammad | 6.3.0-1713964309.fe9ddad5.bullseye |
=== Update ===
Beim Update hängt sich manchmal das Elasticsearch auf, weil nach dem Update das Plugin ingest-attachment nicht mehr dazu passt. Dann muss man das neu installieren:
/usr/share/elasticsearch/bin/elasticsearch-plugin remove ingest-attachment
/usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-attachment
=== Installation Protocol ===
# Anleitung Zammad https://docs.zammad.org/en/latest/install/package.html
# Additional software dependencies
apt install curl apt-transport-https gnupg
# Anleitung Elasticsearch https://docs.zammad.org/en/latest/install/elasticsearch.html
apt install apt-transport-https wget curl gnupg
echo "deb [signed-by=/etc/apt/trusted.gpg.d/elasticsearch.gpg] https://artifacts.elastic.co/packages/7.x/apt stable main" | tee -a /etc/apt/sources.list.d/elastic-7.x.list > /dev/null
curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | gpg --dearmor | tee /etc/apt/trusted.gpg.d/elasticsearch.gpg> /dev/null
apt update
apt install elasticsearch
/usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-attachment
# RAM für Elasticsearch begrenzen
# WICHTIG! Sonst verwendet das alles an RAM, was es finden kann
echo "-Xms500m" > /etc/elasticsearch/jvm.options.d/heapsize.options
echo "-Xmx500m" >> /etc/elasticsearch/jvm.options.d/heapsize.options
# Service aktivieren und starten
systemctl daemon-reload
systemctl enable elasticsearch.service
# Settings in /etc/elasticsearch/elasticsearch.yml ergänzen:
# # recommended settings from https://docs.zammad.org/en/latest/install/elasticsearch.html
# # Tickets above this size (articles + attachments + metadata)
# # may fail to be properly indexed (Default: 100mb).
# #
# # When Zammad sends tickets to Elasticsearch for indexing,
# # it bundles together all the data on each individual ticket
# # and issues a single HTTP request for it.
# # Payloads exceeding this threshold will be truncated.
# #
# # Performance may suffer if it is set too high.
# http.max_content_length: 400mb
#
# # Allows the engine to generate larger (more complex) search queries.
# # Elasticsearch will raise an error or deprecation notice if this value is too low,
# # but setting it too high can overload system resources (Default: 1024).
# #
# # Available in version 6.6+ only.
# indices.query.bool.max_clause_count: 2000
# Install Zammad
curl -fsSL https://dl.packager.io/srv/zammad/zammad/key | gpg --dearmor | tee /etc/apt/trusted.gpg.d/pkgr-zammad.gpg> /dev/null
echo "deb [signed-by=/etc/apt/trusted.gpg.d/pkgr-zammad.gpg] https://dl.packager.io/srv/deb/zammad/zammad/stable/debian 11 main"| tee /etc/apt/sources.list.d/zammad.list > /dev/null
apt update
apt install zammad
# Set the Elasticsearch server address
$ zammad run rails r "Setting.set('es_url', 'http://localhost:9200')"
# Build the search index
$ zammad run rake zammad:searchindex:rebuild
# make nginx listen for remote connections
# edit /etc/nginx/sites-available/zammad.conf
# remove server_name localhost
# remove listen [::]:80
# remove listen :80
# add listen 192.168.1.59:80
===== SSO ====
Single Sign On (SSO) mit Keycloak kann in der Anwendung vom Admin Account konfiguriert werden. Zammad nutzt SAML.
===== Wartung =====
In das Textfeld einfach das Datum der Wartung eintragen, am besten in der Form yyyy-mm-dd.
{{NEWPAGE>infrastruktur:wartung:zammad#pagetemplates:wartungstemplate:zammad|Zammad
}}
{{topic>:infrastruktur:wartung?wartungsfenster +zammad &nodate&nouser&desc&table}}
~~NOCACHE~~