Aplicações incluídas

As imagens Docker do Antimatter incluem um conjunto de aplicações (plugins, na Consola do sistema). Esta página lista-as, indica quais ficam ativadas após a instalação e descreve as definições que cada uma requer por parte de um administrador.

As aplicações incluídas

As aplicações são listadas como Plugins na Consola do sistema. Estão incluídas na imagem (em /antimatter/prepackaged_plugins), assinadas com a chave de assinatura de aplicações do Antimatter, pelo que se instalam sem ligação à Internet.

O arquivo de libertação e os pacotes .deb e .rpm incluem menos apps: consulte Apps nos pacotes e no arquivo.

AplicaçãoID da aplicaçãoImagemAtivada após a instalação
Agentes (IA)mattermost-aiambassim
Chamadascom.mattermost.callsambassim
Kanbanfocalboardambassim
Playbooksplaybooksambassim
GitHubgithubambasnão
GitLabcom.github.manland.mattermost-plugin-gitlabambasnão
Jirajiraambasnão
Métricascom.mattermost.mattermost-plugin-metricsambasnão
Canais de vozcom.antimatterchat.voice-channelsantimatter-nextsim
Sondagenscom.antimatterchat.pollsantimatter-nextsim
Notascom.antimatterchat.notesantimatter-nextsim
Quadro brancocom.antimatterchat.whiteboardantimatter-nextsim
Correiocom.antimatterchat.mailantimatter-nextsim
Calendáriocom.antimatterchat.calendarantimatter-nextsim
GIFscom.antimatterchat.gifsantimatter-nextsim
Memesmemesantimatter-nextnão
Tarefascom.mattermost.plugin-todoantimatter-nextnão

As aplicações que estão ativadas por omissão são instaladas a cada arranque, caso ainda não o estejam, ou atualizadas se a imagem tiver uma versão mais recente. Se desativar uma, ela permanece desativada: a omissão só se aplica a aplicações que a configuração ainda não mencione. As aplicações que mantêm o seu ID do Mattermost (Agentes, Chamadas, Kanban, Playbooks e as integrações) são compilações próprias do Antimatter.

Ativar, desativar e configurar aplicações

Vá a Consola do sistema › Plugins › Gestão de plugins. Em Plugins instalados, cada aplicação tem Ativar ou Desativar, Definições e Remover, e mostra o seu estado (Em execução, Não em execução, Falha ao iniciar…). Cada aplicação com definições tem também a sua própria página em Consola do sistema › Plugins.

As apps integradas que estão desativadas por omissão são instaladas a partir da cópia própria da imagem: clique na sua foto no topo da barra de apps e escolha Mercado de Apps (na interface clássica, está no menu do produto), encontre a app e clique em Instalar, depois ative-a na Gestão de Plugins. A partir da linha de comandos:

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 aplicações através da configuração

Quais as aplicações que estão ativadas é definido pela definição PluginSettings.PluginStates, um mapa de IDs de aplicações. Pode fundir entradas nele com amctl; com Ativar plugins pré-empacotados automaticamente ligado (a omissão), uma aplicação incluída ativada é instalada no próximo arranque:

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 as Tarefas, que não são oferecidas no diálogo do Marketplace. A variável AM_PLUGINSETTINGS_PLUGINSTATES também funciona, mas substitui o mapa inteiro: liste todas as aplicações que pretende ativar.

Definições das aplicações

As definições da aplicação são guardadas em PluginSettings.Plugins.<app id>, com chaves em minúsculas. Pode modificá-las na página Consola do sistema da aplicação, ou com amctl config patch, como mostrado em Configuração. AM_PLUGINSETTINGS_PLUGINS substitui as definições de todas as aplicações de uma vez e bloqueia-as, pelo que deve ser evitado.

GIFs

A aplicação GIFs adiciona uma separa de GIFs e figurinhas ao seletor de emojis, apoiada no serviço de GIFs do Antimatter (gifs-server), que utiliza a API do Tenor. O ficheiro compose do site executa o serviço e configura a aplicação através de variáveis. As suas definições, em Consola do sistema › Plugins › GIFs:

DefiniçãoVariável (valor por omissã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 vazia.
Chave da APIAM_GIFS_API_KEYvazioUma das AM_GIFS_API_KEYS do serviço.
Chave de carregamentoAM_GIFS_UPLOAD_KEYvazioUma das chaves AM_GIFS_UPLOAD_KEYS do serviço. Permite às pessoas adicionar GIFs e adesivos a partir do seletor, e eliminar os adicionados desta forma. Se estiver vazio, as cargas ficam desativadas.
Quem pode adicionar GIFs e figurinhasAdministradores do sistemaAdministradores do sistema, ou Todos. Os convidados nunca podem, tal como com emojis personalizados. O que as pessoas adicionam fica disponível para todos; a pessoa que o adicionou e os administradores do sistema podem eliminá-lo.
Ativar figurinhasligadoMostra a separa de figurinhas.
Filtro de conteúdomédioalto, médio, baixo ou desativado.
Servir os conteúdos multimédia através do AntimatterligadoOs navegadores carregam os GIFs a partir do Antimatter, que os obtém do serviço. Mantenha ligado quando o serviço estiver apenas na sua rede interna.
URL dos conteúdos multimédiao /media/ do serviçoOnde se encontram os conteúdos multimédia, quando servidos diretamente.
Tamanho da cache (MB)64 MBCache de memória da aplicação.

Para esta aplicação, as variáveis são apenas valores por omissão: um valor definido na Consola 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 a aplicação GIFs estiver configurada, a sua separa substitui o seletor de Giphy integrado (Consola do sistema › Integrações › GIF › Ativar seletor de GIFs, ServiceSettings.EnableGifPicker).

O serviço de GIFs

O serviço guarda tudo no seu diretório de dados (/data, o volume gifs): um índice de pesquisa e os conteúdos multimédia. As suas variáveis principais:

VariávelPadrãoO que faz
AM_GIFS_API_KEYSnenhumaChaves de API separadas por vírgulas. Sem uma chave, a API fica aberta a qualquer pessoa que a acesse. Várias chaves permitem a sua rotação.
AM_GIFS_UPLOAD_KEYSnenhumaChaves autorizadas para carregar, e para eliminar o que foi carregado. Sem uma, não há cargas.
AM_GIFS_RATE_LIMIT20Pedidos por segundo por cliente (chave de API e endereço); 0 desativa. O ficheiro compose define 0, porque todos os pedidos do Antimatter partilham uma única chave e endereço.
AM_GIFS_LISTEN:8080Endereço de escuta.
AM_GIFS_PUBLIC_URLa partir dos pedidosURL externa, se expuser o serviço.
AM_GIFS_TRUST_PROXYfalseConfiar nos cabeçalhos X-Forwarded-*, apenas atrás de um proxy.
AM_GIFS_UPLOAD_MAX_MB16Ficheiro carregado mais grande.

Para adicionar os seus próprios GIFs em lote, importe-os com um manifesto, a partir de um diretório montado num contentor de utilização única:

docker compose run --rm -v "$PWD/my-gifs:/import:ro" gifs import -manifest /import/manifest.json

Para reimpor 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.

Correio e Calendário

O Correio e o Calendário ligam cada pessoa à sua própria caixa de correio (IMAP e SMTP) e ao seu próprio calendário (CalDAV). As pessoas inserem o seu servidor e palavra-passe na aplicação; as palavras-passe são guardadas criptografadas. Não configura os servidores de correio ou de calendário para elas, mas decide para o que podem ligar-se:

AplicaçãoDefiniçãoPadrãoO que faz
Correio, CalendárioPermitir servidores de correio em redes privadas, Permitir servidores de calendário em redes privadas (AllowPrivateNetworks)desativadoDesativado, o servidor recusa-se a ligar-se a endereços de loopback, privados e de link-local, pelo que as aplicações não podem ser usadas para aceder à sua rede interna. Ative esta opção se o seu servidor de correio ou de calendário estiver num endereço privado.
Correio, CalendárioPermitir ligações não criptografadas (AllowInsecureConnections)desativadoDesativado, as ligações devem usar TLS (Correio: TLS ou STARTTLS; Calendário: HTTPS).
CorreioIntervalo de verificação de não lidos (minutos) (UnreadCheckMinutes)2 minutosCom que frequência são verificadas as contagens de não lidos quando o servidor de correio não as pode enviar em tempo real.
CorreioTamanho 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 o seu próprio alarme).

Para permitir que as pessoas iniciem sessão em caixas de correio do Gmail ou do Microsoft 365 com a sua conta em vez de uma palavra-passe, crie um cliente OAuth e preencha os campos do Google ou do Microsoft da aplicação de Correio:

  • Google: um cliente OAuth Web com a API do Gmail e o âmbito https://mail.google.com/.
  • Microsoft: uma aplicação do Entra ID com as permissões delegadas IMAP.AccessAsUser.All, SMTP.Send, offline_access, openid, email e profile. O inquilino é common por omissão.
  • Em ambos, o URI de redirecionamento é https://chat.example.com/plugins/com.antimatterchat.mail/oauth/callback (a URL do seu site).

Kanban, Notas, Quadro branco, Sondagens e Playbooks

  • Kanban (focalboard) abre no seu painel lateral, ao lado da conversa, tal como os Playbooks. Os links antigos para as páginas /kanban/… e /boards/… abrem o mesmo quadro ou cartão numa comunidade. A sua única definição, Ativar Quadros Partilhados Publicamente (EnablePublicSharedBoards, desativada), permite aos editores de quadros partilhar um quadro com qualquer pessoa que tenha o link, sem iniciar sessão.
  • Notas e Sondagens não têm definições.
  • Quadro branco: os administradores do sistema podem carregar bibliotecas de formas (ficheiros Excalidraw .excalidrawlib, até 5 MB cada) para todo o servidor na página de definições. Os administradores da comunidade gerem as bibliotecas da sua própria comunidade.
  • Playbooks abre no seu painel lateral. Os links antigos para as páginas /playbooks/… abrem a mesma execução ou playbook numa comunidade. Tem algumas definições, na sua maioria funcionalidades experimentais; os valores por omissão são adequados para a maioria dos servidores.
  • Memes: Quem pode adicionar modelos de memes: Todos (o valor por omissão), Administradores do sistema, ou Ninguém (modelos personalizados desativados), o que impede novos modelos, mantendo os já adicionados utilizáveis. Os convidados nunca adicionam modelos. A pessoa que adicionou um modelo e os administradores do sistema podem eliminá-lo.
  • Tarefas não tem definições de servidor.

GitHub, GitLab e Jira

Estas aplicações ligam o Antimatter ao seu alojamento de código e ao seu gestor de problemas. Cada uma necessita de uma aplicação OAuth no outro lado e de um webhook que aponte de volta para o Antimatter. Ative a aplicação e, em seguida, execute o seu comando de configuração em qualquer canal, que o guiará passo a passo: /github setup, /gitlab setup ou /jira setup.

AplicaçãoURL 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 imprime as URLs dos webhooks.
Mantenha Utilizar Aplicação OAuth Pré-registrada desativada nas aplicações GitHub e GitLab: esta opção depende de um serviço do Mattermost que o Antimatter não possui, e a aplicação recusa-se a iniciar com esta opção ativada. Registe a sua própria aplicação OAuth.

As aplicações GitHub e GitLab geram o segredo do webhook e a chave de encriptação na primeira gravação. A aplicação GitHub pode ser limitada a organizações (GithubOrg) e a aplicação GitLab a um grupo (GitlabGroup); para GitHub Enterprise ou GitLab auto-alojado, defina a sua URL base.

Métricas

A aplicação Métricas recolhe as métricas de desempenho do servidor numa pequena base de dados de séries temporais dentro do Antimatter, permitindo descarregá-las ou incluí-las num pacote de suporte sem executar o Prometheus. Quando inicia, ativa o ponto de entrada de métricas do servidor (MetricsSettings.Enable). Consulte Operações.

Instalação de outras aplicações

O Antimatter executa aplicações do Mattermost (plugins). Três formas de adicionar uma:

  • A partir de um marketplace remoto. Ativar Marketplace remoto (PluginSettings.EnableRemoteMarketplace) está desativado por predefinição, e URL do Marketplace (PluginSettings.MarketplaceURL) está vazio: o Antimatter não utiliza o marketplace do Mattermost e ignora o seu endereço, caso uma configuração do Mattermost ainda o contenha. Para listar as apps de um servidor de marketplace em que confia, ative a definição e defina a respetiva URL. As versões de apps que o Antimatter inclui (Calls, Playbooks, Kanban e as restantes) provenientes desse marketplace ficam ocultas, pelo que não podem substituir as do Antimatter: Permitir que o Marketplace substitua os plugins do Antimatter (PluginSettings.AllowMarketplaceToReplaceAntimatterPlugins) está desativado por predefinição.
  • Ao carregar um pacote (.tar.gz). Os carregamentos estão desativados por omissão e não têm uma opção na Consola do sistema: defina AM_PLUGINSETTINGS_ENABLEUPLOADS=true e, em seguida, utilize Carregar plugin na Gestão de plugins, ou amctl --local plugin add app.tar.gz.
  • A partir de uma URL: amctl plugin install-url <url>, também com os carregamentos ativados.

O Antimatter verifica as assinaturas das aplicações com as chaves em que confia: a chave do Antimatter, a chave com que a Mattermost, Inc. assina as suas aplicações publicadas (de modo a que uma aplicação do Mattermost que descarregue por sua conta se instale) e qualquer chave que adicione em PluginSettings.SignaturePublicKeyFiles. Com Exigir assinatura de plugin (PluginSettings.RequirePluginSignature, desativado por omissão) ativado, as aplicações sem assinatura são recusadas e os carregamentos ficam desativados.

Uma aplicação é executada no servidor com acesso total aos seus dados. Instale apenas aplicações em que confia.

Algumas aplicações criadas para as edições pagas do Mattermost verificam por si mesmas a presença de uma licença do Mattermost e recusam-se a executar; o Antimatter não simula ter uma para elas.