Aplicativos incluídos
As imagens Docker do Antimatter vêm com um conjunto de aplicativos (plugins, no Console do Sistema). Esta página lista esses aplicativos, indica quais ficam ativados após a instalação e descreve as configurações que cada um exige de um administrador.
Os aplicativos incluídos
Os aplicativos são listados como Plugins no Console do Sistema. Eles estão na imagem (em /antimatter/prepackaged_plugins), assinados com a chave de assinatura de aplicativos do Antimatter, de modo que podem ser instalados sem conexão com a Internet.
O arquivo de liberação e os pacotes .deb e .rpm incluem menos aplicativos: consulte Aplicativos nos pacotes e no arquivo.
| Aplicativo | ID do aplicativo | Imagem | Ativado após a instalação |
|---|---|---|---|
| Agentes (IA) | mattermost-ai | ambos | sim |
| Chamadas | com.mattermost.calls | ambos | sim |
| Kanban | focalboard | ambos | sim |
| Playbooks | playbooks | ambos | sim |
| GitHub | github | ambos | não |
| GitLab | com.github.manland.mattermost-plugin-gitlab | ambos | não |
| Jira | jira | ambos | não |
| Métricas | com.mattermost.mattermost-plugin-metrics | ambos | não |
| Canais de Voz | com.antimatterchat.voice-channels | antimatter-next | sim |
| Enquetes | com.antimatterchat.polls | antimatter-next | sim |
| Notas | com.antimatterchat.notes | antimatter-next | sim |
| Quadro Branco | com.antimatterchat.whiteboard | antimatter-next | sim |
com.antimatterchat.mail | antimatter-next | sim | |
| Calendário | com.antimatterchat.calendar | antimatter-next | sim |
| GIFs | com.antimatterchat.gifs | antimatter-next | sim |
| Memes | memes | antimatter-next | não |
| Tarefas | com.mattermost.plugin-todo | antimatter-next | não |
Os aplicativos que ficam ativados por padrão são instalados a cada inicialização, caso ainda não estejam, ou atualizados, caso a imagem contenha uma versão mais recente. Se você desativar um aplicativo, ele permanecerá desativado: o padrão se aplica apenas a aplicativos que ainda não foram mencionados na configuração. Os aplicativos que mantêm seu ID do Mattermost (Agentes, Chamadas, Kanban, Playbooks e as integrações) são builds próprios do Antimatter.
Ativar, desativar e configurar aplicativos
Vá para Console do Sistema › Plugins › Gerenciamento de Plugin. Em Plugins Instalados, cada aplicativo possui Habilitar ou Desabilitar, Configurações e Remover, e exibe seu estado (Em execução, Não em execução, Falha ao iniciar…). Cada aplicativo com configurações também possui sua própria página em Console do Sistema › Plugins.
Os aplicativos incluídos que estão desativados por padrão são instalados a partir da própria cópia da imagem: clique na sua foto no topo da barra de aplicativos e escolha Marketplace de aplicativos (na interface clássica, fica no menu do produto), encontre o aplicativo e clique em Instalar, depois ative-o no Gerenciamento de Plugins. Pela linha de comando:
docker compose exec antimatter amctl --local plugin marketplace install github
docker compose exec antimatter amctl --local plugin enable github
Outros comandos: amctl plugin list, amctl plugin disable <id>, amctl plugin delete <id>.
Ativar aplicativos pela configuração
Quais aplicativos estão ativos é definido pela configuração PluginSettings.PluginStates, um mapa de ids de aplicativos. Você pode mesclar entradas nele com amctl; com Ativar Plugins Pré-empacotados Automáticos ativado (o padrão), um aplicativo incluído habilitado é instalado na próxima inicialização:
docker compose exec -T antimatter amctl --local config patch /dev/stdin <<'EOF'
{"PluginSettings": {"PluginStates": {"com.mattermost.plugin-todo": {"Enable": true}}}}
EOF
docker compose restart antimatter
Esta também é a forma de instalar Tarefas, que não é oferecida na caixa de diálogo do Marketplace. A variável AM_PLUGINSETTINGS_PLUGINSTATES também funciona, mas substitui o mapa inteiro: liste todos os aplicativos que deseja ativar.
Configurações dos aplicativos
As configurações do aplicativo são armazenadas em PluginSettings.Plugins.<app id>, com chaves em letras minúsculas. Altere-as na página do Console do Sistema do aplicativo ou com amctl config patch, conforme mostrado em Configuração. AM_PLUGINSETTINGS_PLUGINS substitui as configurações de todos os aplicativos de uma vez e os trava, então evite usá-lo.
GIFs
O aplicativo GIFs adiciona uma aba de GIFs e figurinhas ao seletor de emojis, com base no serviço de GIFs do Antimatter (gifs-server), que utiliza a API do Tenor. O arquivo de composição do site executa o serviço e configura o aplicativo por meio de variáveis. Suas configurações, em Console do Sistema › Plugins › GIFs:
| Configuração | Variável (padrão) | Padrão | O que faz |
|---|---|---|---|
| URL do serviço de GIFs | AM_GIFS_SERVICE_URL | vazio | A base da API do serviço, por exemplo http://gifs:8080/v2. Os GIFs ficam desativados enquanto estiver vazio. |
| Chave de API | AM_GIFS_API_KEY | vazio | Uma das AM_GIFS_API_KEYS do serviço. |
| Chave de envio | AM_GIFS_UPLOAD_KEY | vazio | Uma das chaves do serviço AM_GIFS_UPLOAD_KEYS. Permite que as pessoas adicionem GIFs e figurinhas do seletor e excluam as adicionadas dessa forma. Se estiver vazio, os envios ficam desativados. |
| Quem pode adicionar GIFs e figurinhas | Administradores do sistema | Administradores do sistema ou Todos. Convidados nunca podem, assim como com emojis personalizados. O que as pessoas adicionam fica disponível para todos; a pessoa que adicionou e os administradores do sistema podem excluí-lo. | |
| Ativar figurinhas | ligado | Exibe a aba de figurinhas. | |
| Filtro de conteúdo | médio | alto, médio, baixo ou desativado. | |
| Servir a mídia através do Antimatter | ligado | Os navegadores carregam os GIFs do Antimatter, que os busca do serviço. Mantenha ligado quando o serviço estiver apenas na sua rede interna. | |
| URL da mídia | o /media/ do serviço | Onde a mídia está, quando servida diretamente. | |
| Tamanho da cache (MB) | 64 MB | Cache de memória do aplicativo. |
Para este aplicativo, as variáveis são apenas padrões: um valor definido no Console do Sistema tem prioridade sobre elas. Se o seletor de GIFs permanecer vazio, verifique a URL do serviço e a chave de API nessa página.
Enquanto o aplicativo GIFs estiver configurado, sua aba substitui o seletor Giphy integrado (Console do Sistema › Integrações › GIF (Beta) › Ativar Seletor de GIF, ServiceSettings.EnableGifPicker).
O serviço de GIFs
O serviço mantém tudo em seu diretório de dados (/data, o volume gifs): um índice de pesquisa e a mídia. Suas principais variáveis:
| Variável | Padrão | O que faz |
|---|---|---|
AM_GIFS_API_KEYS | nenhuma | Chaves de API separadas por vírgula. Sem uma chave, a API fica aberta a qualquer pessoa que a acesse. Várias chaves permitem rotacioná-las. |
AM_GIFS_UPLOAD_KEYS | nenhuma | Chaves autorizadas para enviar e para excluir o que foi enviado. Sem uma delas, não há envios. |
AM_GIFS_RATE_LIMIT | 20 | Requisições por segundo por cliente (chave de API e endereço); 0 desativa. O arquivo de composição define 0, porque todas as requisições do Antimatter compartilham uma chave e um endereço. |
AM_GIFS_LISTEN | :8080 | Endereço de escuta. |
AM_GIFS_PUBLIC_URL | das requisições | URL externa, se você expuser o serviço. |
AM_GIFS_TRUST_PROXY | false | Confiar nos cabeçalhos X-Forwarded-*, apenas atrás de um proxy. |
AM_GIFS_UPLOAD_MAX_MB | 16 | Maior arquivo enviado. |
Para adicionar seus próprios GIFs em lote, importe-os com um manifesto, a partir de um diretório montado em um container de uso único:
docker compose run --rm -v "$PWD/my-gifs:/import:ro" gifs import -manifest /import/manifest.json
Para reimportar os adesivos iniciais após uma atualização: docker compose run --rm gifs stickers. O formato do manifesto e os outros comandos estão no README do gifs-server.
E-mail e Calendário
O E-mail e o Calendário conectam cada pessoa à sua própria caixa de entrada (IMAP e SMTP) e ao seu próprio calendário (CalDAV). As pessoas inserem seu servidor e senha no aplicativo; as senhas são armazenadas criptografadas. Você não configura os servidores de e-mail ou calendário para elas, mas decide para onde elas podem se conectar:
| Aplicativo | Configuração | Padrão | O que faz |
|---|---|---|---|
| E-mail, Calendário | Permitir servidores de e-mail em redes privadas, Permitir servidores de calendário em redes privadas (AllowPrivateNetworks) | desativado | Desativado, o servidor se recusa a se conectar a endereços de loopback, privados e link-local, para que os aplicativos não possam ser usados para acessar sua rede interna. Ative se seu servidor de e-mail ou calendário estiver em um endereço privado. |
| E-mail, Calendário | Permitir conexões não criptografadas (AllowInsecureConnections) | desativado | Desativado, as conexões devem usar TLS (E-mail: TLS ou STARTTLS; Calendário: HTTPS). |
Intervalo de verificação de não lidos (minutos) (UnreadCheckMinutes) | 2 minutos | Com que frequência as contagens de não lidos são verificadas quando o servidor de e-mail não consegue enviá-las. | |
Tamanho máximo da mensagem (MB) (MaxMessageSizeMB) | 25 MB | Limite de tamanho das mensagens enviadas e lidas. | |
| Calendário | Enviar lembretes (EnableReminders) | ligado | O bot do Calendário envia uma Mensagem Direta antes dos eventos (10 minutos antes, para eventos sem alarme próprio). |
Para permitir que as pessoas façam login em caixas de entrada do Gmail ou Microsoft 365 com sua conta em vez de uma senha, crie um cliente OAuth e preencha os campos do Google ou Microsoft no aplicativo de E-mail:
- Google: um cliente OAuth Web com a API do Gmail e o escopo
https://mail.google.com/. - Microsoft: um aplicativo do Entra ID com as permissões delegadas
IMAP.AccessAsUser.All,SMTP.Send,offline_access,openid,emaileprofile. O locatário padrão écommon. - Em ambos, a URI de redirecionamento é
https://chat.example.com/plugins/com.antimatterchat.mail/oauth/callback(a URL do seu site).
Kanban, Notas, Quadro Branco, Enquetes e Playbooks
- Kanban (
focalboard) abre em seu painel lateral, ao lado da conversa, assim como Playbooks. Links antigos para as páginas/kanban/…e/boards/…abrem o mesmo quadro ou cartão em uma comunidade. Sua única configuração, Enable Publicly-Shared Boards (EnablePublicSharedBoards, desativada), permite que editores de quadros compartilhem um quadro com qualquer pessoa que tenha o link, sem fazer login. - Notes e Polls não possuem configurações.
- Whiteboard: os administradores do sistema podem enviar bibliotecas de formas (arquivos Excalidraw
.excalidrawlib, com até 5 MB cada) para todo o servidor na página de configurações. Os administradores da comunidade gerenciam as bibliotecas de sua própria comunidade. - Playbooks abre em seu painel lateral. Links antigos para as páginas
/playbooks/…abrem a mesma execução ou playbook em uma comunidade. Ele tem algumas configurações, em sua maioria recursos experimentais; os padrões atendem à maioria dos servidores. - Memes: Quem pode adicionar modelos de memes: Todos (padrão), Administradores do sistema ou Ninguém (modelos personalizados desativados), o que impede novos modelos, enquanto os já adicionados permanecem utilizáveis. Convidados nunca adicionam modelos. A pessoa que adicionou um modelo e os administradores do sistema podem excluí-lo.
- Todo não possui configurações de servidor.
GitHub, GitLab e Jira
Estes aplicativos conectam o Antimatter ao seu provedor de hospedagem de código e rastreador de problemas. Cada um requer um aplicativo OAuth no outro lado e um webhook apontando de volta para o Antimatter. Ative o aplicativo e, em seguida, execute seu comando de configuração em qualquer canal, que o guiará passo a passo: /github setup, /gitlab setup ou /jira setup.
| Aplicativo | URL de redirecionamento OAuth | URL do Webhook |
|---|---|---|
| GitHub | https://chat.example.com/plugins/github/oauth/complete | https://chat.example.com/plugins/github/webhook |
| GitLab | https://chat.example.com/plugins/com.github.manland.mattermost-plugin-gitlab/oauth/complete | https://chat.example.com/plugins/com.github.manland.mattermost-plugin-gitlab/webhook |
| Jira | /jira instance install server <url> ou /jira instance install cloud-oauth <url>; /jira webhook exibe as URLs do webhook. | |
Os aplicativos GitHub e GitLab geram seu segredo de webhook e chave de criptografia na primeira gravação. O aplicativo GitHub pode ser limitado a organizações (GithubOrg) e o aplicativo GitLab a um grupo (GitlabGroup); para GitHub Enterprise ou GitLab auto-hospedado, defina sua URL base.
Métricas
O aplicativo Metrics coleta as métricas de desempenho do servidor em um pequeno banco de dados de séries temporais dentro do Antimatter, permitindo que você as baixe ou as inclua em um pacote de suporte sem executar o Prometheus. Ao iniciar, ele ativa o endpoint de métricas do servidor (MetricsSettings.Enable). Consulte Operações.
Instalando outros aplicativos
O Antimatter executa aplicativos do Mattermost (plugins). Três formas de adicionar um:
- De um marketplace remoto. Ativar Marketplace Remoto (
PluginSettings.EnableRemoteMarketplace) está desativado por padrão, e URL do Marketplace (PluginSettings.MarketplaceURL) está vazio: o Antimatter não usa o marketplace do Mattermost e ignora seu endereço, caso uma configuração do Mattermost ainda o contenha. Para listar os aplicativos de um servidor de marketplace em que você confia, ative a configuração e defina sua URL. Os builds de aplicativos que o Antimatter distribui (Chamadas, Playbooks, Kanban e os outros) desse marketplace ficam ocultos, para que não possam substituir os do Antimatter: Permitir que o Marketplace substitua os builds dos plugins do Antimatter (PluginSettings.AllowMarketplaceToReplaceAntimatterPlugins) está desativado por padrão. - Enviando um pacote (
.tar.gz). Os envios estão desativados por padrão e não possuem uma opção no Console do Sistema: definaAM_PLUGINSETTINGS_ENABLEUPLOADS=truee, em seguida, use Enviar Plugin no Gerenciamento de Plugins, ouamctl --local plugin add app.tar.gz. - De uma URL:
amctl plugin install-url <url>, também com os envios ativados.
O Antimatter verifica as assinaturas dos aplicativos em relação às chaves em que confia: a chave do Antimatter, a chave com que a Mattermost, Inc. assina seus aplicativos publicados (para que um aplicativo do Mattermost baixado por você seja instalado) e qualquer chave que você adicionar em PluginSettings.SignaturePublicKeyFiles. Com Requisitar Assinatura de Plugin (PluginSettings.RequirePluginSignature, desativado por padrão) ativado, aplicativos sem assinatura são recusados e os uploads são desabilitados.
Alguns aplicativos feitos para as edições pagas do Mattermost verificam uma licença do Mattermost por conta própria e se recusam a ser executados; o Antimatter não finge ter uma para eles.