- Chatto es una app de chat para grupos y equipos, similar a Slack, Teams o Discord, pero busca una experiencia más compacta y rápida
- Puede levantar un servidor con solo un ejecutable e incluye su propio frontend, por lo que se puede desplegar con relativa facilidad en infraestructura personal
- Cada servidor se encarga de una sola comunidad y no incluye federación entre servidores ni rastreo o analítica de terceros
- Los datos personales y de chat se cifran en reposo con claves por usuario, y esas claves se destruyen cuando se elimina la cuenta
- Es una aplicación de chat para grupos y equipos desarrollada durante aproximadamente el último año, y ahora es oficialmente de código abierto para que cualquiera pueda operarla por su cuenta
Chatto publicado para self-hosting
- Chatto es una aplicación de chat para grupos y equipos desarrollada durante aproximadamente el último año, y ahora es oficialmente de código abierto para que cualquiera pueda operarla por su cuenta
- La forma más rápida de ponerlo en marcha es usando Homebrew
brew install chattocorp/tap/chatto
chatto init
chatto run
- El proceso de instalación se puede consultar en la Getting Started Guide
- Apunta a un uso similar al de apps de chat grupal como Slack, Teams o Discord, pero enfatiza una experiencia más compacta y rápida
- Se puede ver en funcionamiento en la Chatto HQ Community
Estructura del servidor y modelo de seguridad
- En su forma más básica, se puede levantar un servidor con un solo ejecutable, y el servidor también entrega su propio frontend
- El consumo de recursos es bajo, y los datos personales y de chat quedan completamente cifrados en reposo con claves por usuario
- Si un usuario elimina su cuenta, la clave de ese usuario se destruye
- Cada servidor de Chatto opera una sola comunidad
- No hay federación de datos entre servidores
- Tampoco hay rastreo ni analítica de terceros
- Si quieres estar en varios servidores al mismo tiempo, el cliente se conecta directamente a cada uno
- Si quieres hostear varias comunidades, basta con ejecutar varios procesos de Chatto
- Incluye soporte nativo para llamadas de voz y video, además de compartir pantalla
- Las llamadas están cifradas de extremo a extremo
- El número de participantes puede escalar hasta donde lo soporte la infraestructura del usuario
Archivos de despliegue y recursos operativos
- Los binarios están disponibles para Linux x86_64 y ARM64, macOS y Windows
- La documentación de self-hosting está disponible en Chatto Self-Hosting Documentation
- Recursos relacionados
Chatto Cloud y hosting de pago
- Chatto Cloud entrará pronto en beta pública y solo ofrecerá hosting de pago para servidores Chatto
- No habrá suscripción premium, anuncios ni otros extras; solo hosting
- La infraestructura en el lanzamiento estará compuesta por infraestructura europea y de propiedad europea
- Se planean más regiones para inicios de 2027
- Todos los servidores de Chatto Cloud ofrecerán escalado automático, respaldo completo de datos cada noche y actualizaciones de versión sin tiempo de inactividad
- Chatto Cloud busca evitar el lock-in
- Los servidores alojados en Chatto Cloud son 100% compatibles con los servidores self-hosted
- Se podrán mover datos en cualquier momento para migrar dentro o fuera de Chatto Cloud
Estado de la versión 0.4 y plan hasta 1.0.0
- La versión actual de Chatto es la 0.4
- Se considera lo bastante estable para uso en producción
- Aún faltan algunas funciones importantes
- El plan completo se puede ver en Chatto Roadmap
- El foco de Chatto 0.5 estará en funciones de seguridad y mejoras del cliente
- Incluirá funciones de reporte de contenido y moderación
- Habrá especial énfasis en pulir la funcionalidad multi-servidor
- Se espera que Chatto 1.0.0 llegue en aproximadamente 6 a 12 meses
- Hasta entonces puede haber cambios incompatibles
- Quienes usen self-hosting deberán estar preparados para actualizar cuando salgan nuevas versiones
- Las novedades de lanzamientos o el aviso del inicio de la beta de Chatto Cloud se pueden recibir a través del boletín Chatto announcements, que se envía aproximadamente una vez al mes
2 comentarios
Estoy usando Mattermost, pero cada vez intenta empujarme más hacia la versión Enterprise y está recortando funciones de la versión OSS.
Cuando esté lo suficientemente maduro, me gustaría armar una herramienta para migrar desde Mattermost.
Opiniones en Hacker News
Me gusta que esté diseñado para que sea muy fácil autoalojarlo en infraestructura propia. Según la documentación (https://docs.chatto.run/), Chatto se distribuye como un binario pequeño e independiente, usa NATS, un broker de mensajes ligero con motor integrado de persistencia de streams, y también permite configurar almacenamiento de objetos externo compatible con S3.
Las llamadas reales funcionan con LiveKit (Apache-2.0) y deben desplegarse junto con Chatto; también está bueno que, al igual que con NATS, los ejemplos de despliegue muestren la configuración de conexión necesaria. Es un gran proyecto, no solo con promesas, sino con guías reales.
Por las capturas parece que sí, pero no encontré documentación para descargarla.
Conozco a Hendrik desde hace varios años y es uno de los desarrolladores más talentosos que he conocido. Estoy seguro de que este proyecto va a despegar muy rápido.
El proyecto en sí es interesante, pero me impresiona especialmente que lo haya desarrollado solo usando codificación agéntica.
En general es una buena persona, y me encantaría volver a trabajar con él en cualquier momento.
Si piensan venderlo a empresas, deberían pensar en la parte de “cuando un usuario elimina su cuenta, se destruye la clave específica de ese usuario”. Los mensajes de trabajo pertenecen al empleador, no al individuo, así que se necesita un borrado lógico.
Me dio risa porque en portugués “chato” significa “aburrido”. Pero esto parece muy fácil de configurar y usar.
Bienvenido sea más software aburrido.
En portugués/español, con bastante frecuencia existe la posibilidad de que sea jerga NSFW.
Genial. Pero no queda claro en ninguna parte del sitio web si hay soporte móvil.
Para migrar a una empresa o a amigos, el soporte móvil es imprescindible.
https://github.com/orgs/chattocorp/projects/1?pane=issue&ite...
Mattermost, Element/Matrix y quizá algunos o todos los clientes de ActivityPub parecen hacerlo de esta manera. Si no, autoalojar el servidor implicaría que también tendrías que distribuir la app cliente por tu cuenta mediante la App Store y pagando el programa de desarrolladores de Apple.
Lo voy a seguir de cerca. Actualmente uso Mattermost, pero su esquema de precios es bastante irregular y está orientado a enterprise, así que por ahora sigo usando la versión open source, que está bastante limitada en funciones.
Además, las videollamadas se quedaban cortas, así que me gusta que Chatto tenga esa función.
Me pregunto cuál es la razón de la doble licencia. El backend en Go es AGPL, pero el frontend en TypeScript parece ser Apache 2.0.
Me pregunto por qué no dejaron todo bajo AGPL.
Eso les da una forma suave de exclusividad para operar su propia Cloud. En cambio, para el frontend tiene más sentido una licencia más permisiva si quieren permitir personalización, white-labeling, etc.
Grafana es un buen ejemplo. En 2021 pasó de Apache a AGPLv3 para evitar que proveedores cloud alojaran versiones modificadas sin contribuirlas, y mantuvo los plugins con licencia Apache.
Sería muy bueno que, después de autoalojarlo, se pudiera generar un paquete o enlace que descargue, instale y deje preconfigurado el inicio de sesión. Algo como un instalador personalizado o un script de configuración asociado a una persona específica.
El objetivo es reducir al máximo la fricción de onboarding. Puede tener implicaciones de seguridad, como que el enlace se comparta por error, pero en una instancia pequeña autoalojada parece relativamente fácil de mitigar. Incluso podría hacerse para que funcione solo con cuentas locales.
Así sería más fácil mandarle a un amigo un enlace de “chatea conmigo aquí”, sin preocuparte por la respuesta de “ya uso Discord y no quiero configurar todo eso”.
Aunque alguien más se registre, por ejemplo, simplemente no se le da el rol de “grupo interno”. Me pregunto si estás pensando en algo como un enlace de invitación con token de un solo uso.
Muy bueno. Antes había pensado en algo parecido: muchas empresas quieren algo que agrupe notificaciones y ejecute acciones simples de bot, pero no necesariamente quieren quedar atadas a un proveedor de chat específico.
Si pudiera usarse como frontend para varias integraciones, o incluso solo como chat interno, sería realmente interesante.
Me gustaría saber cuáles son las ventajas y desventajas de Chatto frente a Mattermost.
Además, me alegra mucho que el backend de Chatto esté implementado en Go. Go encaja muy bien para este tipo de uso.