9 puntos por GN⁺ 4 시간 전 | 2 comentarios | Compartir por WhatsApp
  • 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

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

 
click 28 분 전

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.

 
GN⁺ 4 시간 전
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.

    • Realmente genial. Siempre es bueno tener más opciones. Dicho eso, viendo la documentación me queda la duda de si hay una aplicación de escritorio.
      Por las capturas parece que sí, pero no encontré documentación para descargarla.
    • Me pregunto si se puede instalar también en lugares fáciles y baratos, o casi gratuitos, como Cloudflare o Vercel.
  • 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.

    • Lo conozco personalmente desde hace casi 30 años, y sigue siendo una de las personas más inteligentes, experimentadas y curiosas que he conocido como desarrollador.
      En general es una buena persona, y me encantaría volver a trabajar con él en cualquier momento.
    • Me pregunto si ha hecho otras cosas interesantes.
    • Tenía algo de interés, pero este comentario más bien me convenció de evitarlo.
  • 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.

    • En ese caso, bastaría con no permitir que el usuario elimine su propia cuenta. Aun así, para la mayoría de los usuarios y proveedores de Chatto, parece una buena forma de cumplir automáticamente con el derecho de supresión.
    • Puede que los empleadores no sean el cliente objetivo.
  • 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.

    • También puede significar “molesto”. Antes de elegir el nombre de un proyecto o empresa, siempre conviene buscar si tiene un significado negativo al menos en los 10 idiomas con más usuarios.
      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.

    • Parece que está en los planes.
      https://github.com/orgs/chattocorp/projects/1?pane=issue&ite...
    • Hay que tener en cuenta que, para enviar notificaciones a una app de iOS, el publicador de la app debe enviar las notificaciones. Es decir, habría que operar un servicio proxy de entrega de eventos.
      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.

    • Poner el backend bajo AGPL puede impedir que alguien lo aloje como servicio. Como la AGPL considera el hosting como distribución, cualquiera que lo aloje debe publicar el código.
      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.
    • La AGPL impide que otros usen el backend en Go para operar un servicio cloud competidor. En el frontend no tiene mucho efecto y solo asusta a los usuarios enterprise.
  • 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”.

    • Me pregunto qué esperas más allá de “te paso el enlace de la instancia, regístrate ahí”. Combinado con roles al estilo Discord, se podría limitar la visibilidad de canales y permisos mediante roles.
      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.