Instalação via Docker
O Zammad pode ser implantado usando o Docker Compose. Você pode até usar interfaces gráficas do Docker, como o Portainer.
INFO
Não fornecemos suporte para problemas específicos do Docker (Compose) ou Portainer. Se você optar por executar o Zammad via Docker, o suporte é fornecido apenas para a aplicação Zammad.
Pré-requisitos
Um ambiente Docker Compose funcional
Pelo menos 4 GB de RAM para executar os containers
Aumente o limite de memória para o Elasticsearch em hosts Linux:
shsudo sysctl -w vm.max_map_count=262144
Implantação com Portainer
A forma mais fácil de colocar o Zammad em execução é via uma interface gráfica do Docker. Recomendamos o Portainer. Para instruções de instalação, consulte a documentação do Portainer.
Etapa 1: adicionar stack
Na interface gráfica do Portainer (por exemplo, https://yourdomain.tld:9443), escolha seu ambiente de destino, selecione Stacks e clique em Add stack, como você pode ver na captura de tela abaixo.

Etapa 2: construir a partir do repositório
Mude para o método de build Repository e forneça as informações abaixo:
- Name: informe um nome desejado para a stack
- Repository URL:
https://github.com/zammad/zammad-docker-compose - Repository reference:
refs/heads/master - Compose path:
docker-compose.yml(padrão)
Caso nosso ambiente padrão não seja o que você procura, você pode personalizar a stack usando cenários predefinidos e ajustar variáveis de ambiente. Vá até a seção de personalização abaixo para mais informações.

Etapa 3: implantar a stack
Por fim, clique no botão Deploy the stack. Na primeira vez, pode levar algum tempo até que as imagens do Docker sejam baixadas.
Depois que a stack estiver pronta, você pode acessar o Zammad pelo host e porta Docker configurados, por exemplo, http://localhost:8080/.
Implantação com Docker Compose
Etapa 1: clonar o repositório do GitHub
git clone https://github.com/zammad/zammad-docker-compose.gitCertifique-se de executar git pull frequentemente para buscar atualizações. Como alternativa, você pode baixar os arquivos da página de releases.
Etapa 2: ajustar o ambiente conforme necessário
Caso nosso ambiente padrão não seja o que você procura, você pode personalizar a stack usando cenários predefinidos e ajustar variáveis de ambiente. Vá até a seção de personalização abaixo para mais informações.
Etapa 3: iniciar a stack
cd zammad-docker-composedocker compose up -dOpcional: use um arquivo .yml adicional para usar um cenário predefinido. Continue lendo na seção Personalizando a stack do Zammad.
Depois que a stack estiver pronta, você pode acessar o Zammad pelo host e porta Docker configurados, por exemplo, http://localhost:8080/.
Expondo a stack via HTTPS
Para publicar uma stack do Zammad na internet, ela precisa ser protegida via protocolo HTTPS. Para conseguir isso sem modificar a stack do Zammad, você pode:
- Usar um proxy reverso como o Nginx Proxy Manager (NPM). Ele tem uma interface gráfica que oferece uma integração fácil com o Let's Encrypt.
- Usar um túnel do Cloudflare, que oferece terminação SSL.
Ambos os cenários são cobertos na página separada Cenários do Docker Compose.
Personalizando a stack do Zammad
A stack do Zammad pode ser personalizada carregando arquivos de cenário adicionais para casos de uso comuns. Por exemplo, você pode implantar a stack com um Nginx Proxy Manager (NPM) incluído, ou com os serviços PostgreSQL ou Elasticsearch desativados, caso você já tenha esses serviços em execução.
Consulte a página de cenários do Docker Compose.
Para ajustar a stack e as configurações, use variáveis de ambiente específicas do Docker.
Como executar comandos na stack
Execute comandos na sua stack do Docker chamando rails ou rake por um dos seguintes métodos, usando bundle exec.
Na sua interface gráfica do Portainer, vá até a visualização de containers e selecione o container Rails em execução da sua stack do Zammad. Clique no ícone Exec Console na coluna "Quick Actions", selecione o ponto de entrada padrão /bin/bash e clique em Connect.

Execute o console interativo do Rails executando:
bundle exec rails cExecute diretamente um comando específico:
bundle exec rails r '...seu comando rails aqui...'