Servidor de mensagens instantâneas auto-hospedável em Go, com clientes nativos para Android, iOS e web, além de APIs JSON/websocket e gRPC.
SAMA-Communications/sama-server
Servidor de chat baseado em uWebSockets.js que oferece uma alternativa ao XMPP, com backend em Node.js, MongoDB e Redis.
- Estrelas
- 161
- Forks
- 16
- Issues abertas
- 3
- Último commit
- mês passado
O que é?
SAMA é um servidor de chat e protocolo de mensagens criado como alternativa ao XMPP, o padrão consagrado de mensagens instantâneas. O servidor é escrito em JavaScript para Node.js e usa uWebSockets.js para gerenciar WebSockets. Ele armazena dados no MongoDB e usa Redis para manter o estado do cluster.
O servidor disponibiliza APIs para usuários, conversas, mensagens, atividades, agendas de contatos e notificações push. Os clientes oficiais para web e Flutter estão disponíveis em repositórios separados, e há uma demonstração hospedada para testar a stack completa.
Os nós de um cluster se descobrem por meio de registros no Redis, abrem conexões WebSocket entre si e removem os dados deixados por nós que ficaram indisponíveis.
Recursos principais
- 01Servidor de chat baseado em uWebSockets.js e Node.js
- 02Usa MongoDB para armazenamento e Redis para coordenar o cluster
- 03Disponibiliza APIs para usuários, conversas, mensagens e notificações push
- 04Oferece suporte a clusters com vários nós, com descoberta e reconexão automáticas
- 05Inclui uma API de agenda de contatos e uma API de atividades
Casos de uso
- Criar um backend de chat auto-hospedado como alternativa ao XMPP
- Executar um serviço de mensagens que escala entre vários nós Node.js
- Prototipar um produto de chat usando clientes web ou Flutter já disponíveis
Antes de usar
- Requer MongoDB e Redis como dependências de backend.
- Está licenciado sob GPL-3.0, uma licença copyleft que impõe obrigações para obras derivadas.
- O README indica documentação externa para desenvolvimento local e implantação, em vez de apresentar as etapas de configuração.
Tópicos
Perguntas frequentes
- O que é sama-server?
- Servidor de chat baseado em uWebSockets.js que oferece uma alternativa ao XMPP, com backend em Node.js, MongoDB e Redis. SAMA é um servidor de chat e protocolo de mensagens criado como alternativa ao XMPP, o padrão consagrado de mensagens instantâneas. O servidor é escrito em JavaScript para Node.js e usa uWebSockets.js para gerenciar WebSockets. Ele armazena dados no MongoDB e usa Redis para manter o estado do cluster.
- sama-server é gratuito? Qual é a licença?
- sama-server é open source sob a licença GPL-3.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- sama-server ainda é mantido?
- Atualizado nos últimos 6 meses. O último commit de sama-server foi em 5 de out. de 2026.
- Para que posso usar sama-server?
- Criar um backend de chat auto-hospedado como alternativa ao XMPP Executar um serviço de mensagens que escala entre vários nós Node.js Prototipar um produto de chat usando clientes web ou Flutter já disponíveis
- Onde consigo sama-server?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/SAMA-Communications/sama-server
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Os serviços e as bibliotecas de backend em Rust que dão suporte à plataforma de chat Stoat, incluindo a REST API, o servidor de eventos WebSocket e o servidor de arquivos.
Servidor de código aberto em Erlang para chat em tempo real com XMPP, mensagens MQTT e sinalização de voz e vídeo por SIP.
Servidor XMPP escalável e tolerante a falhas, escrito em Erlang e projetado para grandes instalações empresariais.
Servidor de chat XMPP/Jabber em Java, modular e configurável, com suporte a conexões de clientes por TCP, BOSH e WebSockets.
Monorepo de SDKs do Ethora, uma plataforma de chat e mensagens com SDKs para React, React Native, Android, iOS e WordPress, além de ferramentas para bots de IA e MCP.