- Chatto ist eine App für Gruppen- und Team-Chats, ähnlich wie Slack, Teams oder Discord, zielt aber auf ein kompakteres und schnelleres Nutzungserlebnis ab
- Der Server lässt sich allein mit der ausführbaren Datei starten und liefert auch ein eigenes Frontend mit, sodass er sich vergleichsweise einfach auf eigener Infrastruktur bereitstellen lässt
- Jeder Server ist für eine Community zuständig; Federation zwischen Servern sowie Tracking oder Analytics durch Drittanbieter gibt es nicht
- Persönliche Daten und Chat-Daten werden mit nutzerspezifischen Schlüsseln im Ruhezustand verschlüsselt; bei Löschung eines Kontos wird der entsprechende Schlüssel verworfen
- Es handelt sich um eine Gruppen- und Team-Chat-Anwendung, die seit rund einem Jahr entwickelt wird und nun offiziell Open Source ist, sodass sie jeder selbst betreiben kann
Chatto für Self-Hosting veröffentlicht
- Chatto ist eine Gruppen- und Team-Chat-Anwendung, die seit rund einem Jahr entwickelt wird und nun offiziell Open Source ist, sodass sie jeder selbst betreiben kann
- Der schnellste Weg zum Start ist die Nutzung von Homebrew
brew install chattocorp/tap/chatto
chatto init
chatto run
- Die Installationsschritte sind im Getting Started Guide zu finden
- Chatto zielt auf ähnliche Einsatzzwecke wie Gruppen-Chat-Apps à la Slack, Teams oder Discord ab, betont dabei aber ein kompakteres und schnelleres Nutzungserlebnis
- Die tatsächliche Funktionsweise lässt sich in der Chatto HQ Community ansehen
Serverarchitektur und Sicherheitsmodell
- In der grundlegendsten Form kann der Server mit einer einzigen ausführbaren Datei gestartet werden; der Server stellt auch sein eigenes Frontend bereit
- Der Ressourcenverbrauch ist gering, und persönliche Daten sowie Chat-Daten werden mit nutzerspezifischen Schlüsseln vollständig im Ruhezustand verschlüsselt
- Wenn ein Nutzer sein Konto löscht, wird der entsprechende Nutzerschlüssel verworfen
- Jeder Chatto-Server betreibt eine einzelne Community
- Es gibt keine Daten-Federation zwischen Servern
- Ebenso gibt es kein Tracking und keine Analytics durch Drittanbieter
- Wer gleichzeitig auf mehreren Servern sein möchte, verbindet den Client direkt mit jedem Server
- Um mehrere Communities zu hosten, genügt es, mehrere Chatto-Prozesse auszuführen
- Sprach- und Videoanrufe sowie Screen Sharing werden nativ unterstützt
- Anrufe sind Ende-zu-Ende-verschlüsselt
- Die Zahl der Teilnehmer lässt sich bis zu dem Umfang skalieren, den die eigene Infrastruktur verkraftet
Distributionsdateien und Betriebsressourcen
- Binaries werden für Linux x86_64 und ARM64, macOS sowie Windows bereitgestellt
- Die Self-Hosting-Dokumentation ist in der Chatto Self-Hosting Documentation verfügbar
- Weitere Ressourcen
Chatto Cloud und kostenpflichtiges Hosting
- Chatto Cloud soll bald in die öffentliche Beta gehen und bietet ausschließlich kostenpflichtiges Hosting für Chatto-Server an
- Es gibt keine Premium-Abos, Werbung oder sonstige Zusatzkomponenten, sondern nur Hosting
- Die Infrastruktur zum Launch besteht aus europäischer und in europäischem Besitz befindlicher Infrastruktur
- Weitere Regionen sollen Anfang 2027 starten
- Alle Chatto-Cloud-Server bieten Auto-Scaling, nächtliche vollständige Daten-Backups und Versions-Upgrades ohne Downtime
- Chatto Cloud ist darauf ausgelegt, keinen Lock-in zu erzeugen
- In Chatto Cloud gehostete Server sind zu 100 % mit selbst gehosteten Servern kompatibel
- Daten können jederzeit migriert und in Chatto Cloud hinein oder aus Chatto Cloud heraus bewegt werden
Stand von 0.4 und Plan bis 1.0.0
- Die aktuelle Chatto-Version ist 0.4
- Sie gilt als stabil genug für den Produktionseinsatz
- Einige wichtige Funktionen fehlen jedoch noch
- Der vollständige Plan ist in der Chatto Roadmap einsehbar
- Der Fokus von Chatto 0.5 liegt auf Sicherheitsfunktionen und Client-Verbesserungen
- Enthalten sind Funktionen zum Melden von Inhalten und zur Moderation
- Besonderer Schwerpunkt liegt auf der Verfeinerung der Multi-Server-Funktionalität
- Chatto 1.0.0 wird voraussichtlich in etwa 6 bis 12 Monaten erreicht
- Bis dahin kann es Breaking Changes geben
- Self-Hosting-Nutzer sollten darauf vorbereitet sein, bei Veröffentlichung neuer Versionen Updates einzuspielen
- Neuigkeiten zu Releases oder Benachrichtigungen zum Start der Chatto-Cloud-Beta können über den Newsletter Chatto announcements bezogen werden; die Versandfrequenz liegt bei etwa einmal pro Monat
2 Kommentare
Ich nutze derzeit mattermost, aber es wird ständig in Richtung Enterprise gedrängt und der Funktionsumfang der OSS-Version wird immer weiter beschnitten.
Wenn es ausgereift genug ist, würde ich gern ein Tool schreiben, um von mattermost zu migrieren.
Hacker-News-Kommentare
Gut ist, dass es offenbar so konzipiert wurde, dass Self-Hosting auf der eigenen Infrastruktur sehr einfach ist. Laut der Dokumentation (https://docs.chatto.run/) wird Chatto als kleine, eigenständige Binärdatei ausgeliefert, verwendet den schlanken Message-Broker NATS mit integrierter Stream-Persistenz-Engine und kann außerdem mit externem S3-kompatiblem Objektspeicher konfiguriert werden
Die eigentlichen Anrufe laufen über LiveKit (Apache-2.0) und müssen zusammen mit Chatto bereitgestellt werden; gut ist auch, dass dafür wie bei NATS eine Beispielkonfiguration für die Anbindung gezeigt wird. Ein großartiges Projekt, das nicht nur darüber redet, sondern echte Anleitungen liefert
Auf den Screenshots sieht es so aus, aber ich konnte keine Dokumentation finden, wo man sie herunterladen kann
Ich kenne Hendrik seit einigen Jahren, und er ist einer der talentiertesten Entwickler, die ich je getroffen habe. Ich bin sicher, dass dieses Projekt sehr schnell erfolgreich sein wird
Das Projekt selbst ist interessant, aber besonders beeindruckend ist, dass er es allein unter Einsatz von agentischem Coding entwickelt hat
Insgesamt ein guter Mensch, und ich würde jederzeit wieder mit ihm arbeiten wollen
Wenn man vorhat, das an Unternehmen zu verkaufen, sollte man über die Stelle nachdenken, an der steht: „Wenn ein Nutzer sein Konto löscht, werden die benutzerspezifischen Schlüssel vernichtet.“ Arbeitsnachrichten gehören nicht der einzelnen Person, sondern dem Arbeitgeber, daher braucht man Soft Delete
Ich musste lachen, weil „chato“ im Portugiesischen „langweilig“ bedeutet. Aber das hier sieht sehr einfach einzurichten und zu benutzen aus
Mehr langweilige Software ist willkommen
Im Portugiesischen/Spanischen ist es ziemlich oft möglicher NSFW-Slang
Cool. Ich kann auf der Website allerdings nirgends erkennen, ob es Mobile-Support gibt
Wenn man Firmen oder Freunde migrieren will, ist Mobile-Support unverzichtbar
https://github.com/orgs/chattocorp/projects/1?pane=issue&ite...
Mattermost, Element/Matrix und vermutlich einige oder alle ActivityPub-Clients machen das wohl so. Andernfalls würde Self-Hosting des Servers bedeuten, dass man auch die Client-App selbst über den App Store und die Kosten des Apple-Entwicklerprogramms verteilen muss
Ich werde das weiter beobachten. Derzeit nutze ich Mattermost, aber das Preismodell ist ziemlich uneinheitlich und auf Enterprise ausgerichtet, daher verwende ich im Moment weiter die Open-Source-Version mit stark eingeschränkten Funktionen
Außerdem haben mir Videoanrufe gefehlt, daher ist es gut, dass Chatto diese Funktion hat
Ich frage mich, warum es eine Dual-Lizenzierung gibt. Das Go-Backend ist AGPL, aber das TypeScript-Frontend scheint Apache 2.0 zu sein
Ich frage mich, warum nicht alles unter AGPL steht
Damit erhält man eine milde Form von Exklusivität für den Betrieb einer eigenen Cloud. Beim Frontend ergibt eine permissivere Lizenz dagegen mehr Sinn, wenn man Anpassungen, White-Labeling usw. erlauben will
Grafana ist ein gutes Beispiel. Der Wechsel 2021 von Apache zu AGPLv3 erfolgte, damit Cloud-Anbieter keine modifizierten Versionen ohne Beiträge hosten können, während Plugins unter der Apache-Lizenz blieben
Es wäre wirklich schön, wenn man nach dem Self-Hosting ein Paket oder einen Link erzeugen könnte, das bzw. der Download, Installation und Login-Vorkonfiguration übernimmt. So etwas wie ein benutzergebundener Installer oder ein Konfigurationsskript
Das Ziel ist, die Onboarding-Reibung so weit wie möglich zu reduzieren. Es könnte Sicherheitsfolgen haben, wenn ein Link versehentlich geteilt wird, aber bei kleinen Self-Hosting-Instanzen scheint sich das relativ leicht abmildern zu lassen. Man könnte es auch so gestalten, dass es nur mit lokalen Konten funktioniert
So wäre es einfacher, einem Freund einen Link zu schicken mit „Lass uns hier chatten“, ohne sich Sorgen machen zu müssen, dass die Reaktion lautet: „Ich nutze schon Discord und habe keine Lust, das alles einzurichten“
Selbst wenn jemand anderes beitritt, gibt man ihm einfach zum Beispiel nicht die Rolle „interne Gruppe“. Vielleicht ist eher so etwas wie ein Einladungslink mit Einmal-Token gemeint
Sehr gut. Ich hatte früher einmal eine ähnliche Idee: Viele Unternehmen wollen etwas, das Benachrichtigungen sammelt und einfache Bot-Aktionen ausführt, möchten aber nicht unbedingt an einen bestimmten Chat-Anbieter gebunden sein
Wenn es als Frontend für mehrere Integrationen oder auch nur für internen Chat nutzbar wäre, wäre das wirklich interessant
Ich würde gern wissen, was im Vergleich zu Mattermost die Vor- und Nachteile von Chatto sind
Zusätzlich ist es sehr erfreulich, dass das Chatto-Backend in Go implementiert ist. Go passt für so einen Einsatzfall sehr gut