Skip to content

An Ansible Role to install and configure the web-based open source user support/ticketing solution Zammad (https://zammad.org/).

License

Notifications You must be signed in to change notification settings

tobiashuste/ansible-role-zammad

 
 

Repository files navigation

Ansible role: Zammad

An Ansible Role that installs and configures the web-based open source user support/ticketing solution Zammad.

Note: This role does not install elasticsearch and postgresql server. See Dependencies.

Requirements

The below requirements are needed on the target host:

  • PyOpenSSL >= 0.15 or cryptography >= 1.2.3

Role Variables

zammad_version: "3.6.0"

Zammad version to be installed.

zammad_release_channel: "stable"

Choose another release channel for the Zammad packages. Please refer to https://packager.io/gh/zammad/zammad for a complete list.

zammad_domain_name: "{{ ansible_fqdn }}"

Zammad's fully qualified domain name.

zammad_nginx_config_path: "/etc/nginx/sites-available/zammad.conf"

File path to Zammad's Nginx config.

zammad_ssl_cert_path: "/etc/ssl/certs/zammad_cert.pem"

File path to the SSL/TLS certificate which is used for HTTPS.

zammad_ssl_key_path: "/etc/ssl/private/zammad_key.pem"

File path to the SSL/TLS private key which is used for HTTPS.

zammad_ssl_cert:

Content of SSL/TLS certificate (required).

zammad_ssl_key:

Content of SSL/TLS private key (required).
Please note: In the special case, that you previously put an SSL keypair on the host, e.g. via Let's Encrypt, you must not configure the variables zammad_ssl_cert and zammad_ssl_key. Nevertheless, in each case the role will validate, if the SSL key pair is given under the paths zammad_ssl_key_path and zammad_ssl_cert_path are valid.

zammad_nginx_server_tokens: "off"

Enable or disable emitting nginx version information in error pages or in the Server response header field. Please read the nginx docs for further information.

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;
      }

Configure additional server directives in the Nginx configuration. This allows to implement more use case specific adjustments, e.g. configuring multiple domains or the redirection of outdated domains to the most recent one.

elasticsearch_url: "http://localhost:9200"

Elasticsearch server address.

Dependencies

Zammad requires Elasticsearch and PostgreSQL database server. This role has been successfully tested together with the following roles:

Example Playbook

    - hosts: servers
      roles:
         - role: ufz.zammad
           become: yes

License

MIT

Author Information

This role was created in 2020 by HIFIS Software Services.

About

An Ansible Role to install and configure the web-based open source user support/ticketing solution Zammad (https://zammad.org/).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jinja 100.0%