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.

AplicativoID do aplicativoImagemAtivado após a instalação
Agentes (IA)mattermost-aiambossim
Chamadascom.mattermost.callsambossim
Kanbanfocalboardambossim
Playbooksplaybooksambossim
GitHubgithubambosnão
GitLabcom.github.manland.mattermost-plugin-gitlabambosnão
Jirajiraambosnão
Métricascom.mattermost.mattermost-plugin-metricsambosnão
Canais de Vozcom.antimatterchat.voice-channelsantimatter-nextsim
Enquetescom.antimatterchat.pollsantimatter-nextsim
Notascom.antimatterchat.notesantimatter-nextsim
Quadro Brancocom.antimatterchat.whiteboardantimatter-nextsim
E-mailcom.antimatterchat.mailantimatter-nextsim
Calendáriocom.antimatterchat.calendarantimatter-nextsim
GIFscom.antimatterchat.gifsantimatter-nextsim
Memesmemesantimatter-nextnão
Tarefascom.mattermost.plugin-todoantimatter-nextnã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çãoVariável (padrão)PadrãoO que faz
URL do serviço de GIFsAM_GIFS_SERVICE_URLvazioA base da API do serviço, por exemplo http://gifs:8080/v2. Os GIFs ficam desativados enquanto estiver vazio.
Chave de APIAM_GIFS_API_KEYvazioUma das AM_GIFS_API_KEYS do serviço.
Chave de envioAM_GIFS_UPLOAD_KEYvazioUma 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 figurinhasAdministradores do sistemaAdministradores 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 figurinhasligadoExibe a aba de figurinhas.
Filtro de conteúdomédioalto, médio, baixo ou desativado.
Servir a mídia através do AntimatterligadoOs 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ídiao /media/ do serviçoOnde a mídia está, quando servida diretamente.
Tamanho da cache (MB)64 MBCache 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ávelPadrãoO que faz
AM_GIFS_API_KEYSnenhumaChaves 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_KEYSnenhumaChaves autorizadas para enviar e para excluir o que foi enviado. Sem uma delas, não há envios.
AM_GIFS_RATE_LIMIT20Requisiçõ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:8080Endereço de escuta.
AM_GIFS_PUBLIC_URLdas requisiçõesURL externa, se você expuser o serviço.
AM_GIFS_TRUST_PROXYfalseConfiar nos cabeçalhos X-Forwarded-*, apenas atrás de um proxy.
AM_GIFS_UPLOAD_MAX_MB16Maior 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:

AplicativoConfiguraçãoPadrãoO que faz
E-mail, CalendárioPermitir servidores de e-mail em redes privadas, Permitir servidores de calendário em redes privadas (AllowPrivateNetworks)desativadoDesativado, 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árioPermitir conexões não criptografadas (AllowInsecureConnections)desativadoDesativado, as conexões devem usar TLS (E-mail: TLS ou STARTTLS; Calendário: HTTPS).
E-mailIntervalo de verificação de não lidos (minutos) (UnreadCheckMinutes)2 minutosCom que frequência as contagens de não lidos são verificadas quando o servidor de e-mail não consegue enviá-las.
E-mailTamanho máximo da mensagem (MB) (MaxMessageSizeMB)25 MBLimite de tamanho das mensagens enviadas e lidas.
CalendárioEnviar lembretes (EnableReminders)ligadoO 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, email e profile. 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.

AplicativoURL de redirecionamento OAuthURL do Webhook
GitHubhttps://chat.example.com/plugins/github/oauth/completehttps://chat.example.com/plugins/github/webhook
GitLabhttps://chat.example.com/plugins/com.github.manland.mattermost-plugin-gitlab/oauth/completehttps://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.
Mantenha Use Preregistered OAuth Application desativado nos aplicativos GitHub e GitLab: ele depende de um serviço do Mattermost que o Antimatter não possui, e o aplicativo se recusa a iniciar com essa opção ativada. Registre seu próprio aplicativo OAuth.

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: defina AM_PLUGINSETTINGS_ENABLEUPLOADS=true e, em seguida, use Enviar Plugin no Gerenciamento de Plugins, ou amctl --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.

Um aplicativo é executado dentro do servidor com acesso total aos seus dados. Instale apenas aplicativos em que você confia.

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.