Por Iva Seleš

Mensagens de equipa open source em grande escala: gerir o Mattermost por conta própria

mãos a escrever uma mensagem num telemóvel numa sala escura

De tantos em tantos anos, uma empresa olha para a fatura do Slack, soma o custo por utilizador, repara que uma década de conversas internas está guardada na base de dados de outra pessoa, noutra jurisdição, e pergunta-se se não há outra maneira. Há. O Mattermost é a alternativa em servidor próprio mais credível, e já o é há algum tempo.

É também a ferramenta mais mal compreendida antes da implementação, porque a edição gratuita que as pessoas julgam estar a instalar raramente é a que acabam por usar. Este guia explica o que o Mattermost realmente é, o que a versão gratuita inclui de facto e os três problemas operacionais que apanham quase toda a gente que o aloja pela primeira vez.

O que é o Mattermost

Um servidor em Go, uma base de dados PostgreSQL, um cliente web em React e aplicações nativas para computador e telemóvel. Canais, conversas encadeadas (threads), partilha de ficheiros, pesquisa, comandos com barra, webhooks de entrada e de saída, bots e uma estrutura de plugins. Quem já usou o Slack fica produtivo numa tarde, e o resto da empresa também, o que conta mais do que qualquer lista de funcionalidades quando se pede a uma empresa inteira que mude.

À volta deste núcleo estão os Playbooks, para trabalho de incidentes e de processos orientado por listas de verificação, e as Calls, para áudio, vídeo e partilha de ecrã. Desde a v11.0, os Playbooks exigem uma das edições comerciais (a edição gratuita Entry conta como tal). O catálogo de integrações cobre os suspeitos do costume: GitLab, GitHub, Jira, Jenkins, PagerDuty. O ChatOps é onde o produto é realmente forte, e é por isso que tem tantos adeptos entre as equipas de engenharia e de operações, e entre organizações da defesa e do setor público que não podem, de todo, pôr o seu tráfego num SaaS comercial.

O facto arquitetural importante é que tudo isto corre numa infraestrutura escolhida por si. É o mesmo princípio de alojar a sua análise web com o Matomo ou a sua automação de marketing com o Mautic. As mensagens estão na sua base de dados, os ficheiros no seu armazenamento de objetos, e ninguém pode mudar a política de retenção ou o preço sem lhe perguntar.

O licenciamento, sem rodeios

É aqui que as pessoas se baralham, por isso vale a pena ser direto.

A Team Edition é a edição open source: gratuita, com o binário sob a licença MIT, e é a que a maioria de quem aloja o Mattermost usa há anos. Tem mensagens, canais, conversas encadeadas, pesquisa, integrações, webhooks e a estrutura de plugins. Não tem autenticação única (SSO) por SAML ou AD/LDAP, exportação para conformidade, pesquisa empresarial, clusters de alta disponibilidade nem contas de convidado. Desde a v11.0 (outubro de 2025), perdeu também a autenticação única com o GitLab e os Playbooks, e o Mattermost passou a descrevê-la como destinada a equipas pequenas, entusiastas e uso pessoal, com menos de 250 utilizadores ativados e sem necessidade de autenticação única (SSO).

A Entry é uma edição comercial gratuita, com o conjunto de funcionalidades da Enterprise Advanced e limites ao nível do servidor. Só as 10 000 mensagens de canal mais recentes podem ser vistas ou pesquisadas (as mais antigas ficam na base de dados), não há funcionalidades de conformidade nem alta disponibilidade, e o suporte é apenas o da comunidade. O Mattermost indica outros limites que, segundo diz, entram em vigor numa versão futura: 5 execuções de playbooks ativas por mês, chamadas de 40 minutos, 10 000 notificações push por mês. Destina-se a equipas com menos de cerca de cinquenta pessoas. É uma boa forma de avaliar o produto pago. É uma má forma de construir a casa definitiva do histórico de conversas da empresa, porque o limite do histórico é precisamente aquilo que, mais cedo ou mais tarde, passa a interessar.

A Professional, a Enterprise e a Enterprise Advanced são os escalões pagos. A Professional acrescenta SSO, MFA e permissões avançadas, e o Mattermost apresenta-a para equipas até 250 utilizadores. A Enterprise acrescenta sincronização com AD/LDAP, automação da conformidade, pesquisa empresarial, alta disponibilidade e Playbooks em escala. A Enterprise Advanced acrescenta o tratamento de informação classificada, controlos de confiança zero e implementação em ambientes isolados (air-gapped), e é o escalão usado pela defesa e pelo Estado. O Mattermost já não publica preços por utilizador, por isso conte com uma conversa comercial.

A decisão era mais simples do que a lista de escalões faz crer, e a v11 mudou-a. Abaixo de cerca de 250 pessoas, com contas locais e sem necessidade de autenticação única, a Team Edition continua a servir. Qualquer autenticação única (SAML, AD/LDAP e agora também o GitLab) implica uma edição comercial: a Entry enquanto os seus limites chegarem, a Professional ou a Enterprise a partir daí. A solução provisória que o Mattermost ofereceu para a autenticação com o GitLab foi ficar na versão de suporte alargado v10.11, e essa versão chegou ao fim de vida a 15 de agosto de 2026. Uma organização grande, ou com requisitos de conformidade, retenção ou alta disponibilidade, deve planear e orçamentar a Enterprise desde o início.

Instalação

Uma implementação pequena

Para uma equipa de algumas dezenas a poucas centenas de pessoas, um único VPS bem dimensionado chega perfeitamente. As indicações do próprio Mattermost apontam para um vCPU e 2 GB de RAM para até mil utilizadores, o que é otimista como os mínimos dos fornecedores sempre são. Dê-lhe quatro núcleos e 8 GB e não volta a pensar no assunto.

A stack é o Mattermost, o PostgreSQL e um proxy inverso que termina o TLS. O Traefik com Let's Encrypt é o que dá menos trabalho:

services:
  mattermost:
    image: mattermost/mattermost-team-edition:release-11.7
    restart: unless-stopped
    environment:
      - MM_SQLSETTINGS_DRIVERNAME=postgres
      - MM_SQLSETTINGS_DATASOURCE=postgres://mmuser:your_secure_password@db:5432/mattermost?sslmode=disable
      - MM_SERVICESETTINGS_SITEURL=https://chat.example.com
    volumes:
      - mm_data:/mattermost/data
      - mm_config:/mattermost/config
    depends_on:
      - db

  db:
    image: postgres:16-alpine
    restart: unless-stopped
    environment:
      - POSTGRES_USER=mmuser
      - POSTGRES_PASSWORD=your_secure_password
      - POSTGRES_DB=mattermost
    volumes:
      - db_data:/var/lib/postgresql/data

volumes:
  mm_data:
  mm_config:
  db_data:

Defina corretamente o SiteURL antes de convidar quem quer que seja. Um SiteURL errado ou em falta estraga as notificações push, os callbacks de OAuth e as pré-visualizações de links, de formas que são irritantes de depurar mais tarde e triviais de evitar agora.

Uma ressalva que vale a pena repetir, porque o próprio fornecedor a faz: os contentores servem para avaliação e para instalações de produção pequenas, mas a via dos contentores não traz clusters nem alta disponibilidade de origem. Se precisa disso, instale diretamente em Linux ou use o operador de Kubernetes. Fixe a imagem numa linha de versões, como recomenda o guia oficial de Docker: o exemplo usa a 11.7, a versão de suporte alargado atual, porque a latest passa para a v12 no dia em que esta sair.

Uma implementação de produção

O PostgreSQL 14 é o mínimo na v11. A versão 12.0, prevista para 14 de outubro de 2026, sobe-o para o PostgreSQL 15, por isso comece com a 15 ou mais recente (o exemplo acima usa a 16). O suporte para MySQL terminou com a v11.0, em outubro de 2025, pelo que o MySQL não é opção numa instalação nova. O Amazon Aurora PostgreSQL é suportado e é a opção gerida sensata na AWS. Se instalar diretamente em Linux, tenha em conta que a v11.11 (setembro de 2026) é a última versão que suporta o RHEL 7 e o RHEL 8.

Ponha os ficheiros num armazenamento de objetos compatível com S3 desde o primeiro dia. O sistema de ficheiros local funciona e é a opção por defeito, mas é também o que, sem dar nas vistas, torna o servidor dependente de estado, as cópias de segurança enormes e a migração penosa. Mudar mais tarde obriga a mover ficheiros e a reescrever caminhos. Mudar na instalação é definir meia dúzia de valores de configuração.

Para alta disponibilidade precisa do escalão Enterprise: vários nós de aplicação atrás de um balanceador de carga, um armazenamento de objetos partilhado e uma base de dados com réplicas de leitura. Para pesquisa em escala, vai querer Elasticsearch ou OpenSearch, também na Enterprise. A pesquisa de texto completo do PostgreSQL chega para algumas centenas de pessoas e alguns milhões de mensagens, e a pesquisa em chinês, japonês e coreano (CJK) passou a funcionar por defeito no PostgreSQL, o que antes era uma razão real para comprar o módulo de pesquisa.

As três coisas que correm mal

Tudo o que ficou dito acima está na documentação. Estas são as partes que as pessoas descobrem em produção.

As notificações push não são gratuitas da forma que espera

As notificações push para telemóveis têm de passar pelas redes da Apple e da Google, o que significa que alguém tem de guardar os certificados de assinatura. O Mattermost disponibiliza um Test Push Notification Service que funciona de imediato e que, expressamente, não se destina a produção. O Hosted Push Notification Service é o de produção e vem com uma licença paga.

A terceira opção é correr o seu próprio proxy de push. Está bem documentado e é perfeitamente exequível, mas obriga a compilar e distribuir a sua própria aplicação móvel, com as suas próprias credenciais de Firebase e APNs, o que implica uma relação com as lojas de aplicações e um processo de lançamento de versões, não uma tarde de trabalho.

Decida em qual das três opções fica antes de chegar aos telemóveis, e não depois de a primeira pessoa perguntar porque é que só recebe mensagens com a aplicação aberta. Este problema, sozinho, explica mais migrações para o Mattermost abandonadas do que qualquer outro.

As chamadas precisam de mais do que uma porta

As Calls têm dois modos. O modo integrado corre o serviço de multimédia dentro do servidor Mattermost e é recomendado abaixo de cerca de cinquenta utilizadores ativos. Acima disso, vai querer o rtcd, um serviço separado que tira o tráfego multimédia das chamadas do servidor principal e escala horizontalmente. O rtcd exige a Enterprise.

Em qualquer dos casos, os clientes têm de chegar ao serviço de multimédia por UDP na porta 8443, e essa porta tem de estar aberta no anfitrião onde corre o serviço. O seu proxy inverso nginx não a vai reencaminhar, porque o nginx não está no caminho do UDP. Metade dos tópicos «as chamadas não ligam» resume-se a uma regra de firewall que nunca foi acrescentada.

No escalão gratuito, conte com chamadas individuais com limite de tempo, e não com chamadas de grupo ilimitadas. Se o vídeo para toda a empresa é um requisito, inclua-o no orçamento.

Alguém tem de o gerir

A comparação de custos honesta não é licença contra zero. É licença contra infraestrutura mais a pessoa que aplica as atualizações. O Mattermost lança uma versão com novas funcionalidades todos os meses (a 10 de outubro de 2026, a atual é a 11.11 e a versão de suporte alargado é a 11.7), vai querer manter-se atualizado por razões de segurança, e as atualizações envolvem migrações da base de dados que deve testar num sítio que não seja a produção.

Para uma equipa que já gere a sua própria infraestrutura, é trabalho marginal e as contas são esmagadoramente favoráveis. Para uma empresa de dez pessoas sem capacidade de operações, uma fatura de SaaS pode sair de facto mais barata do que as tardes de terça-feira. Seja honesto sobre qual das duas é a sua.

Sair do Slack

O Mattermost tem uma via de importação a partir dos ficheiros de exportação do Slack, e funciona, com ressalvas que convém conhecer de antemão. As mensagens dos canais públicos e os utilizadores passam bem. Os canais privados e as mensagens diretas dependem daquilo que o seu plano do Slack o deixa exportar, se deixar. As conversas encadeadas, os anexos, os emojis personalizados e as integrações exigem atenção, e alguns têm de ser refeitos.

A abordagem que funciona: importar o histórico como um arquivo pesquisável e tratar a data de mudança como um recomeço limpo. Tentar reproduzir exatamente cada comportamento do Slack é a maneira de transformar uma migração de duas semanas numa de dois trimestres.

Use os dois em paralelo durante quinze dias, mude primeiro uma equipa e anuncie publicamente, logo no início, a data em que o antigo é desligado. As migrações de chat falham por razões sociais, não técnicas.

A perspetiva europeia

Para as empresas da UE, não se trata só de custo. Alojar a ferramenta por conta própria coloca a comunicação interna dentro de um perímetro que controla, o que muda de uma vez várias conversas: a análise das transferências ao abrigo do RGPD, o escrutínio da cadeia de abastecimento da Diretiva NIS 2 e as questões de soberania que aparecem cada vez mais nos concursos públicos e que são o tema central do Cloud and AI Development Act.

O chat interno é uma das maiores concentrações de material confidencial de uma empresa. Contém pormenores de incidentes, nomes de clientes, credenciais que as pessoas não deviam ter colado mas colaram, e todas as negociações comerciais em curso. Quando alguém pergunta onde estão esses dados, poder responder com uma região e um bastidor, em vez de uma lista de subcontratantes, tem o seu valor.

Quando não vale a pena

Se a sua empresa tem quinze pessoas, os requisitos de conformidade são leves e ninguém quer ficar responsável por um servidor, use o SaaS. A poupança não paga a atenção.

Se precisa de uma integração profunda com um ecossistema em que já vive, veja com cuidado o que perderia. Quem trabalha num ambiente Microsoft 365 tem muita coisa de borla que teria de reconstruir.

E se o motor da mudança é a antipatia de uma pessoa barulhenta por um fornecedor, e não uma necessidade real de custo, controlo ou jurisdição, a migração vai encalhar nos sessenta por cento de adesão, que é o pior resultado possível para uma ferramenta de comunicação.

Como podemos ajudar

Implementamos e gerimos infraestrutura open source em servidores próprios para empresas que operam na Europa, incluindo as partes pouco vistosas: proxies de push, migrações de armazenamento de objetos, caminhos de atualização e a integração de identidade que faz um chat pegar.

Se quer uma implementação do Mattermost bem dimensionada, uma migração do Slack planeada por quem já a fez, ou uma resposta honesta sobre se alojar por conta própria compensa para a sua equipa, escreva para office@c9group.dev. Saiba mais sobre o nosso trabalho de infraestrutura na página de otimização de custos na AWS.

Se está a montar uma stack completa em servidores próprios, o mesmo raciocínio aplica-se à análise web e à automação de marketing.


Publicado: 8 de agosto de 2026 (atualizado a 10 de outubro de 2026) Categorias: Colaboração, Open Source, Privacidade

Colaboração

Novos guias e alterações às regras por email

Quando uma regra muda, um prazo é alterado ou publicamos um novo guia, enviamo-lo por email.

Primeiro, enviamos uma ligação de confirmação. Pode cancelar a subscrição a qualquer momento. Política de Privacidade