Skip to main content

zammad

image.png

Enlaces

Zammad Community | Home & Download

Install with Docker — Zammad System Documentation documentation

Requisitos

Repositorio

GitHub - zammad/zammad-docker-compose: Zammad Docker images for docker-compose & Kubernetes

Portainer-Git repository 

En Portainer «Stack» agregamos nuevo usando repositorio git

image.gif

  1. Stacks → Add stack.

  2. Modo Repository.

  3. Rellena:

    • Name: helpdesk

    • Repository URL:
      https://github.com/zammad/zammad-docker-compose

    • Repository reference:
      refs/heads/master

    • Compose path:
      docker-compose.yml

  4. Deploy stack.image.png

Personalización

Escenarios predefinidos

Si la configuración estándar de Zammad no se ajusta a las necesidades, se pueden usar los escenarios predefinidos. No recomendamos modificar los archivos de Compose localmente, ya que dificultaría el seguimiento de los cambios en el repositorio principal.

Por ejemplo: Añadir una red externa de docker para el servicio ZAMMAD-NGNIX

Si tenemos un reverse proxy que se encarga de SSL, este escenario será de ayuda. Añade una red docker externa al servicio zammad-nginx para que sea accesible desde un reverse proxy que no es parte del Stack Zammad y lo publique

  • Usa el fichero de escenario  scenarios/add-external-network-to-nginx.yml en el despliegue inicial

  • Configura el nombre de la red de proxy (external network) con la variable de entorno ZAMMAD_NGINX_EXTERNAL_NETWORK

image.png

Variables de entorno

Se pueden usar para ajustar la configuración del "stack". Por ejemplo para que el servicio "zammad-nginx" exponga el puerto 8888 en lugar del 8080 por defecto:

# Red externa para proxy inverso
ZAMMAD_NGINX_EXTERNAL_NETWORK=proxy
# Puerto expuesto para acceso al stack Zammad stack desde fuera
NGINX_EXPOSE_PORT=8888

image.png

En este punto ya puedes ir a http://my.docker.ip.address

Publicando detrás de un proxy

Crear registro DNS

En el proveedor que aloja el servidor DNS público, crear un registro DNS que resuelva la IP pública que llega al Proxy hacia un nombre del estilo "host.helpdesk.domain.com"

NGINX proxy

image.png

Para publicar el contenedor detrás de NGINX proxy, como el stack está en la red proxy solo deberás crear un nuevo host

Crear un nuevo "proxy host"

Añade un nuevo proxy host con el nombre de dominio creado en el paso anterior redirigido hacia el nombre del serviciozammad-nginx y el puerto que use 8080

image.pngimage.png

Traefik

traefik-concepts-1.webp

Para publicar el contenedor detrás del proxy Traefik, deberás modificar el fichero de configuración dinámica de Traefik traefik_dynamic.yml para añadir un nuevo router y su servicio asociado

  middlewares:
---
    zammad-headers:
      headers:
        customRequestHeaders:
          X-Forwarded-Proto: "https"
          X-Forwarded-Ssl: "on"
          Host: "helpdesk.dominio.com"
  routers:
---
    zammad:
      rule: Host(`helpdesk.dominio.com`)
      middlewares:
        - zammad-headers
      service: zammad
      tls:
        certResolver: letsencrypt

  services:
---
    zammad:
      loadBalancer:
        serversTransport: insecureTransport
        servers:
          - url: 'http://zammad-nginx:8080'

Microsoft

Registra la App para Zammad

register-microsoft-app.gif

Permisos de API

Configura los siguientes permisos de API

  • OpenId permissions: openid
  • User: User.Read
  • Contacts: Contacts.Read

microsoft-app-add-api-permissions.gif

Configura Zammad

Con privilegios de administrador, en los Ajustes de Seguridad -> Pestaña de Aplicaciones de terceros -> Microsoft - Establece:

  • ID de Aplicación
  • Clave de Aplicación
  • ID de Tenant

add-microsoft-app-credentials-to-zammad.gif