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ção | ID da aplicação | Imagem | Ativada após a instalação |
|---|---|---|---|
| Agentes (IA) | mattermost-ai | ambas | sim |
| Chamadas | com.mattermost.calls | ambas | sim |
| Kanban | focalboard | ambas | sim |
| Playbooks | playbooks | ambas | sim |
| GitHub | github | ambas | não |
| GitLab | com.github.manland.mattermost-plugin-gitlab | ambas | não |
| Jira | jira | ambas | não |
| Métricas | com.mattermost.mattermost-plugin-metrics | ambas | não |
| Canais de voz | com.antimatterchat.voice-channels | antimatter-next | sim |
| Sondagens | com.antimatterchat.polls | antimatter-next | sim |
| Notas | com.antimatterchat.notes | antimatter-next | sim |
| Quadro branco | com.antimatterchat.whiteboard | antimatter-next | sim |
| Correio | 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 |
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ção | Variável (valor por omissã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 vazia. |
| Chave da API | AM_GIFS_API_KEY | vazio | Uma das AM_GIFS_API_KEYS do serviço. |
| Chave de carregamento | AM_GIFS_UPLOAD_KEY | vazio | Uma 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 figurinhas | Administradores do sistema | Administradores 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 figurinhas | ligado | Mostra a separa de figurinhas. | |
| Filtro de conteúdo | médio | alto, médio, baixo ou desativado. | |
| Servir os conteúdos multimédia através do Antimatter | ligado | Os 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édia | o /media/ do serviço | Onde se encontram os conteúdos multimédia, quando servidos diretamente. | |
| Tamanho da cache (MB) | 64 MB | Cache 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ável | Padrão | O que faz |
|---|---|---|
AM_GIFS_API_KEYS | nenhuma | Chaves 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_KEYS | nenhuma | Chaves autorizadas para carregar, e para eliminar o que foi carregado. Sem uma, não há cargas. |
AM_GIFS_RATE_LIMIT | 20 | Pedidos 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 | :8080 | Endereço de escuta. |
AM_GIFS_PUBLIC_URL | a partir dos pedidos | URL externa, se 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 | Ficheiro 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ção | Definição | Padrão | O que faz |
|---|---|---|---|
| Correio, Calendário | Permitir servidores de correio em redes privadas, Permitir servidores de calendário em redes privadas (AllowPrivateNetworks) | desativado | Desativado, 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ário | Permitir ligações não criptografadas (AllowInsecureConnections) | desativado | Desativado, as ligações devem usar TLS (Correio: TLS ou STARTTLS; Calendário: HTTPS). |
| Correio | Intervalo de verificação de não lidos (minutos) (UnreadCheckMinutes) | 2 minutos | Com 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. |
| Correio | 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 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,emaileprofile. O inquilino écommonpor 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ção | 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 imprime as URLs dos webhooks. | |
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: definaAM_PLUGINSETTINGS_ENABLEUPLOADS=truee, em seguida, utilize Carregar plugin na Gestão de plugins, ouamctl --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.
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.