ufz.zammad
Ansible Role: Zammad
An Ansible Role that installs and sets up Zammad, a web-based open-source user support and ticketing solution.
Note: This role does not install Elasticsearch and PostgreSQL server. Please check the Dependencies section.
Requirements
The following requirements must be met on the target host:
- cryptography version >= 1.6.0
Role Variables
zammad_version: "6.2.0"
This specifies the version of Zammad to be installed.
zammad_release_channel: "stable"
Choose a different release channel for the Zammad packages. For a complete list, visit https://packager.io/gh/zammad/zammad.
zammad_domain_name: "{{ ansible_fqdn }}"
The fully qualified domain name for Zammad.
zammad_nginx_config_path: "/etc/nginx/sites-available/zammad.conf"
Path to the Nginx configuration file for Zammad.
zammad_ssl_cert_path: "/etc/ssl/certs/zammad_cert.pem"
Path to the SSL/TLS certificate used for HTTPS.
zammad_ssl_key_path: "/etc/ssl/private/zammad_key.pem"
Path to the SSL/TLS private key used for HTTPS.
zammad_ssl_cert:
Content of the SSL/TLS certificate (required).
zammad_ssl_key:
Content of the SSL/TLS private key (required).
Note: If you have an SSL key pair already on the host (e.g., from Let's Encrypt), do not set the zammad_ssl_cert
and zammad_ssl_key
variables. The role will check if the SSL key pair is valid under the specified paths.
zammad_nginx_server_tokens: "off"
Enable or disable showing the Nginx version in error pages or the Server response header. For more information, check the Nginx docs.
zammad_nginx_additional_server_configs:
- |
server {
listen 80;
server_name zammad.example.com zammad-old.example.com;
return 301 https://zammad.example.com$request_uri;
}
- |
server {
listen 443 ssl;
# ... SSL configuration
server_name zammad-old.example.com;
return 301 https://zammad.example.com$request_uri;
}
Add extra server settings to the Nginx configuration. This is useful for configuring multiple domains or redirecting old domains to the current one.
elasticsearch_url: "http://localhost:9200"
Address of the Elasticsearch server.
Dependencies
Zammad needs Elasticsearch and PostgreSQL database servers. This role has been successfully tested with the following roles:
- Elasticsearch - geerlingguy.elasticsearch
- PostgreSQL - geerlingguy.postgresql
Example Playbook
- hosts: servers
roles:
- role: hifis.zammad
become: yes
License
MIT
Author Information
This role was created in 2020 by HIFIS Software Services.
ansible-galaxy install ufz.zammad