- Chatto é um app para chats de grupos e equipes, semelhante a apps de chat em grupo como Slack, Teams e Discord, mas com o objetivo de oferecer uma experiência mais compacta e rápida
- Ele permite subir um servidor apenas com o executável e ainda fornece seu próprio frontend, facilitando relativamente a implantação em uma infraestrutura pessoal
- Cada servidor atende a uma única comunidade, sem federação entre servidores nem rastreamento ou analytics de terceiros
- Dados pessoais e de chat são criptografados em repouso com chaves por usuário, e essa chave é descartada quando a conta é excluída
- É uma aplicação de chat para grupos e equipes desenvolvida ao longo de cerca de um ano e agora oficialmente open source, permitindo que qualquer pessoa a opere diretamente
Chatto lançado para auto-hospedagem
- Chatto é uma aplicação de chat para grupos e equipes desenvolvida ao longo de cerca de um ano e agora oficialmente open source, permitindo que qualquer pessoa a opere diretamente
- A forma mais rápida de executar é usando Homebrew
brew install chattocorp/tap/chatto
chatto init
chatto run
- O procedimento de instalação pode ser conferido no Getting Started Guide
- Embora tenha um propósito semelhante ao de apps de chat em grupo como Slack, Teams e Discord, o foco é uma experiência mais compacta e rápida
- É possível ver o funcionamento na prática na Chatto HQ Community
Estrutura do servidor e modelo de segurança
- Na forma mais básica, é possível subir o servidor com um único executável, e o servidor também fornece seu próprio frontend
- O uso de recursos é baixo, e dados pessoais e de chat são totalmente criptografados em repouso com chaves por usuário
- Quando o usuário exclui a conta, a chave desse usuário é descartada
- Cada servidor Chatto executa uma única comunidade
- Não há federação de dados entre servidores
- Também não há rastreamento ou analytics de terceiros
- Se quiser estar em vários servidores ao mesmo tempo, o cliente se conecta diretamente a cada servidor
- Para hospedar várias comunidades, basta executar vários processos do Chatto
- Chamadas de voz e vídeo e compartilhamento de tela são suportados nativamente
- As chamadas são criptografadas de ponta a ponta
- A expansão do número de participantes é possível até o limite que a infraestrutura do usuário consiga suportar
Arquivos de distribuição e materiais de operação
- Binários são fornecidos para Linux x86_64 e ARM64, macOS e Windows
- A documentação de auto-hospedagem está disponível em Chatto Self-Hosting Documentation
- Materiais relacionados
Chatto Cloud e hospedagem paga
- Chatto Cloud entrará em beta público em breve e oferecerá apenas hospedagem paga de servidores Chatto
- Não haverá assinaturas premium, anúncios nem outros elementos adicionais; apenas hospedagem
- A infraestrutura no lançamento será composta por infraestrutura europeia e de propriedade europeia
- Mais regiões devem ser lançadas no início de 2027
- Todos os servidores Chatto Cloud oferecem escalonamento automático, backup completo dos dados todas as noites e upgrades de versão sem downtime
- O Chatto Cloud segue uma direção que evita lock-in
- Servidores hospedados no Chatto Cloud são 100% compatíveis com servidores auto-hospedados
- É possível mover os dados a qualquer momento, para dentro ou para fora do Chatto Cloud
Status da 0.4 e planos até a 1.0.0
- A versão atual do Chatto é 0.4
- É considerada estável o suficiente para uso em produção
- Algumas funcionalidades importantes ainda estão ausentes
- O plano completo pode ser visto no Chatto Roadmap
- O foco do Chatto 0.5 são recursos de segurança e melhorias no cliente
- Inclui denúncias de conteúdo e recursos de moderação
- Há foco especial em refinar os recursos multi-servidor
- Espera-se que o Chatto 1.0.0 seja alcançado em cerca de 6 a 12 meses
- Até lá, pode haver mudanças incompatíveis
- Usuários de auto-hospedagem precisam estar preparados para atualizar quando novas versões forem lançadas
- Notícias de releases e avisos sobre o início do beta do Chatto Cloud podem ser recebidos pela newsletter Chatto announcements, com frequência de envio de cerca de uma vez por mês
2 comentários
Estou usando o Mattermost, mas eles ficam empurrando a versão enterprise e depreciando os recursos da versão OSS, então quando estiver maduro o suficiente, acho que quero tentar criar uma ferramenta para migrar do Mattermost.
Opiniões no Hacker News
Gosto do fato de ter sido projetado para ser muito fácil de auto-hospedar na própria infraestrutura. Pela documentação (https://docs.chatto.run/), o Chatto é distribuído como um binário pequeno e independente, usa o NATS, um broker de mensagens leve com mecanismo integrado de persistência de streams, e também permite configurar armazenamento de objetos externo compatível com S3.
As chamadas em si são movidas pelo LiveKit (Apache-2.0) e precisam ser implantadas junto com o Chatto; também é bom ver que ele mostra a configuração de integração necessária nos exemplos de implantação, assim como no NATS. É um ótimo projeto, com guias reais, não só promessas.
Pelas capturas de tela parece que sim, mas não encontrei a documentação para baixá-lo.
Conheço o Hendrik há alguns anos, e ele é uma das pessoas mais talentosas com quem já trabalhei como desenvolvedor. Tenho certeza de que este projeto vai decolar muito rápido.
O projeto em si é interessante, mas é especialmente impressionante que ele tenha sido desenvolvido por uma pessoa só usando codificação agentiva.
No geral, é uma ótima pessoa, e eu trabalharia com ele de novo a qualquer momento.
Se a ideia for vender para empresas, é preciso pensar no trecho “quando o usuário exclui a conta, destruímos as chaves por usuário”. Mensagens de trabalho pertencem ao empregador, não ao usuário individual, então é necessário ter exclusão lógica.
Dei risada porque, em português, “chato” quer dizer “tedioso”. Mas isto parece muito fácil de configurar e usar.
Que venha mais software chato.
Em português/espanhol, com certa frequência pode acabar sendo uma gíria NSFW.
Legal. Mas não dá para saber em nenhum lugar do site se há suporte a dispositivos móveis.
Para migrar uma empresa ou amigos, suporte mobile é indispensável.
https://github.com/orgs/chattocorp/projects/1?pane=issue&ite...
Mattermost, Element/Matrix e talvez alguns ou todos os clientes ActivityPub parecem fazer isso dessa forma. Caso contrário, auto-hospedar o servidor significaria que você também teria que distribuir diretamente o app cliente por meio da App Store e pagando o programa de desenvolvedor da Apple.
Vou continuar acompanhando. Atualmente uso Mattermost, mas a política de preços é bem irregular e voltada para enterprise, então por enquanto continuo usando a versão open source, que tem muitos recursos limitados.
Além disso, as chamadas de vídeo deixavam a desejar, e é bom ver que o Chatto tem esse recurso.
Fico curioso sobre o motivo da licença dupla. O backend em Go é AGPL, mas o frontend em TypeScript parece ser Apache 2.0.
Queria entender por que não deixar tudo em AGPL.
Isso dá uma forma suave de exclusividade para operar sua própria nuvem. Já no frontend, uma licença mais permissiva faz mais sentido se a ideia é permitir customização, white labeling etc.
O Grafana é um bom exemplo. Em 2021, ele migrou de Apache para AGPLv3 para impedir que provedores de nuvem hospedassem versões modificadas sem contribuir de volta, enquanto os plugins permaneceram sob licença Apache.
Seria ótimo se, depois da auto-hospedagem, fosse possível gerar um pacote ou link que já cuidasse do download, instalação e pré-configuração de login. Algo como um instalador personalizado ou script de configuração vinculado a uma pessoa específica.
O objetivo é reduzir ao máximo o atrito de onboarding. Pode haver implicações de segurança se o link for compartilhado por engano, mas em uma instância pequena auto-hospedada isso parece relativamente fácil de mitigar. Também poderia funcionar apenas em contas locais.
Assim ficaria fácil mandar a um amigo um link do tipo “vamos conversar por aqui”, sem precisar se preocupar com a resposta “já uso Discord e não quero configurar tudo isso”.
Mesmo que outra pessoa se cadastre, basta não dar a ela, por exemplo, o papel de “grupo interno”. Será que você está pensando em algo como um link de convite com token de uso único?
Muito bom. Já tive uma ideia parecida no passado: muitas empresas querem algo que agregue notificações e execute ações simples de bot, mas não querem necessariamente ficar presas a um provedor de chat específico.
Se puder servir como frontend para várias integrações, ou mesmo apenas como chat interno, isso seria realmente interessante.
Gostaria de saber quais são os pontos fortes e fracos do Chatto em comparação com o Mattermost.
Além disso, é muito bom ver que o backend do Chatto foi implementado em Go. Go se encaixa muito bem nesse tipo de uso.