Software

1. Client requirements

Please note that, while Zammad being a web application, there’s some requirements for your clients. This ensures that Zammad works as expected.

1.1. Supported Browsers

Zammad/Browser version compatibility

Browser

Remarks

Firefox 78+

(ESR)

(Google) Chrome 83+

This also applies for all Chromium based Browsers like Microsoft Edge

Opera 69+

(based on Chromium 83)

Microsoft Internet Explorer 11

⚠️ Deprecated, will be removed with Zammad 7

Safari 11

Danger

⚠️ Deprecation warning ⚠️

Zammad 7 will no longer support Internet Explorer 11 environments. Users using IE will be forced to use a different browser.

Note

Zammad heavily uses Javascript which makes it a hard requirement.

Browser addons that hook into page content may interfere with Zammads function which is not a bug.
Google Chromes translation module is known to do odd things to especially state names. Use Zammads internal translations instead.

1.2. Network requirements

Zammad uses web sockets. Some application firewalls may filter these connections. This may lead to decreased browser performance.

There’s a fallback to Ajax which causes a higher application server load and thus should be avoided.

Note

The “Core workflows” feature of Zammad comes with an Ajax Mode which can be activated separately in case you’re having issues with field selections.

2. Server requirements

If you want to install Zammad, you need the following software.

Note

Most of the software versions listed below (unless stated as specific version) are minimum requirements of Zammad. We strongly encourage you to use most current possible versions that are not end of life.

2.1. Ruby Programming Language

Hint

🤓 Only relevant for source code installations

Docker and package installations provide the required ruby dependencies!

Zammad requires Ruby. All required rubygems like ruby on rails are listed in the Gemfile.
The following Ruby version is supported:
Ruby 3.1.3
Zammad/Ruby version compatibility

Zammad

Ruby

5.4+

3.1.3

5.2 - 5.3

3.0.4

5.0 - 5.1

2.7.4

3.4.1 - 4.1

2.6.6

3.4.0

2.6.5

3.1 - 3.3

2.5.5

2.5 - 3.0

2.4.4

2.2. Supported distributions

Zammad provides binary packages for the most recent two stable / long-term-support releases of the supported Linux distributions, until they reach their end-of-life or until they can no longer provide the technical requirements for Zammad. Using of the latest supported stable / long-term-support version is generally recommended.

Below you can find all distributions Zammad provides packages for.

Supported operating system matrix

Distribution

Versions

CentOS / RHEL

7 & 8

Debian

10, 11 & 12

OpenSuSE / SLES

Leap 42.3 / 12; Leap 15.x / 15

Ubuntu

18.04, 20.04 & 22.04

Warning

⚠ Changes with Zammad 6.2

Zammad 6.2 will not provide packages for Debian 10, Ubuntu 18.04, and SLES 12. Users of these distributions are encouraged to update to more recent versions like Debian 12, Ubuntu 22.04, and SLES 15.

Warning

⚠ SuSE users be aware

Due to the age of SLES12 / Leap 42.3 you may no longer be able to satisfy all (soft) dependencies of Zammad.

Note that SuSE Tumbleweed does not meet Zammad requirements and thus is not supported!

Note

🤓 What about my specific distribution?! It’s so cool!

If you distribution is not listed, you can still install Zammad. For this you can either use Docker-Compose or Source installation.

We try to provide all current distributions that are supported by Packager.io. This means that we can’t always provide support for your favorite system.

2.3. Package Dependencies

The below dependencies need to be installed on your system. If you’re using the package install, the packages below will automatically installed with the Zammad-Package.

# Debian & Ubuntu
$ apt install libimlib2

# openSUSE
$ zypper install imlib2

# CentOS
$ yum install epel-release
$ yum install imlib2

Note

libimlib2-dev or imlib2-devel are no longer required.
However: If you have to use bundle install for e.g. custom Gems or development, you’ll need to install it!

2.4. Database Server

Zammad will store all content in a Database. You can choose between the following database servers:

  • PostgreSQL 9.3+

  • MySQL 5.7+ / MariaDB 10.3+ (⚠️ deprecated with Zammad 7.0+)

Danger

Support for MySQL/MariaDB will be dropped in Zammad 7.0 upwards. Make sure to migrate your existing instance of Zammad to PostgreSQL before that update.

Please have a look at our guide on how to migrate an existing MySQL/MariaDB instance to PostgreSQL: Migrate to PostgreSQL server.

Warning

Required configuration for MySQL/MariaDB:

  • Use UTF-8 encoding - utf8mb4 for example will fail!

  • Set max_allowed_packet to a value larger than the default of 4 MB (64 MB+ recommended).

You may also want to consider the following settings for your MySQL server:

innodb_file_format = Barracuda
innodb_file_per_table = on
innodb_default_row_format = dynamic
innodb_large_prefix = 1
innodb_file_format_max = Barracuda

2.5. Node.js

Note

This soft dependency was introduced with Zammad 5.0.
Package installations come pre-bundled with the correct NodeJS version. Unless you require NodeJS on your machine for other projects, a manual installation is not required.

Node.js is required for asset compiling.

Hint

🔨 No changes to JS or CSS files?

If you don’t require to change any javascript or stylesheed files you’ll be fine without this package. It’s only required if you have to run rake assets:precompile on your system.

Warning

Node.js is required on source code installations.

Zammad/Node.js version compatibility

Zammad

Node.js

5.2+

16.0+

5.0 - 5.1

10.0+

2.6. Reverse Proxy

In a typical web environment today, you use a reverse proxy to deliver the static content of your application. Only the “expensive” app required HTTP requests are forwarded to the application server.

The following reverse proxies are supported:

  • Nginx 1.3+

  • Apache 2.2+

2.7 Redis

Starting with Zammad 6.0, Redis is required for realtime communication via web socket.

Note

Configuration and installation is out of our scope. Please follow the official vendor guides and ensure to have a tight security on your installation.

2.8. Elasticsearch (optional)

Zammad uses Elasticsearch to

  1. make search faster

  2. support advanced features like reports

  3. searching by email attachment contents

This becomes increasingly important as the number of tickets in your system gets larger and larger.

This dependency is optional but strongly recommended; Zammad will work without it, but search performance will be degraded, and some features will be disabled.

Hint

📦 If you install Zammad via package manager…

It’s perfectly safe to manually override the Elasticsearch dependency. The appropriate command line flag will depend on your platform (e.g., --force, --ignore-depends, --skip-broken); check your package manager’s manpage to find out.

Warning

Please note that if you do not install and use Elasticsearch, the search will be very limited! We recommend using Elasticsearch, as it will boost the usage of Zammad greatly!

Note

Starting with Zammad 4.0 you can decide if you want to use elasticsearch or elasticsearch-oss. Please note that CentOS requires elasticsearch.

Zammad/Elasticsearch version compatibility

Zammad

Elasticsearch

5.2+

>= 7.8, < 9

5.0 - 5.1

>= 7.8, < 8

4.0-4.1

>= 6.5, <= 7.12

3.4-3.6

>= 5.5, <= 7.9

3.3

>= 2.4, <=7.6

3.2

>= 2.4, <=7.5

3.1

>= 2.4, <=7.4

2.0–3.0

>= 2.4, <=5.6

An Elasticsearch plugin is required to index the contents of email attachments: ingest-attachment.

2.9. Optional tools of improved caching and distribution

Note

The features / integrations below were introduced by Zammad 5.0

These tools are optional and may make a lot of sense in big environments even if you decide against distributed use cases.

We consider this topic as 🎛️ Performance Tuning.

2.9.1 Memcached

Instead of storing Zammads cache files within your filesystem, you can also do so in Memcached. This can allow you to restrict the size of your cache directories to improve performance.

Note

Configuration and installation is out of our scope. Please follow the official vendor guides and ensure to have a tight security on your installation.

2.10 GnuPG (optional)

If you want to use the PGP integration for sending and receiving signed and encrypted emails, you need to install the GnuPG-Tool. Please have a look at the official GnuPG website.