無料でDiscordのようなチャットサーバーをセルフホストできる「Chatto」、消費リソースが極めて少なく軽快な動作でチャットデータは暗号化されているのが特徴

Discordなどのチャットサービスでは手軽にサーバーを作成してグループ内で会話できますが、メッセージや個人情報を含むチャットデータはサービス提供者のインフラ上で管理されるため、社内の機密情報などを扱う場合はデータの保存先や管理方法が課題になります。そこで、セルフホスト可能で数十MB程度のRAMから軽快に動作するほか、メッセージ本文などを暗号化して保存できる「Chatto」が公開されています。
Chatto — Self-hostable team chat
https://chatto.run/

chattocorp/chatto: A fully-featured team and group chat application that you can easily selfhost.
https://github.com/chattocorp/chatto
◆Chattoの利用方法
Windows・macOS・Linux専用のデスクトップクライアントもしくはブラウザでChattoサーバーのURLを入力して接続。管理者アカウントを作成するため「Create Account」をクリック。

「Email」にメールアドレスを入力し「Continue」をクリック。

メールアドレスに認証コードが送信されるので入力し「Submit」をクリック。

登録フォームが表示されるので「Username」にユーザー名、「Password」および「Confirm Password」にパスワードを入力し「Create Account」をクリック。

登録処理が完了後、初期画面が表示されるので参加したいLobbyの「Join」ボタンをクリック。

「Joined」の表示になったらLobbyのラベルをクリック。

チャットに参加し会話が可能になります。

◆Chattoの特長
・消費リソースが少ない
タスクマネージャーでChattoのメモリ利用量を確認すると45.1MBとなっており、わずかなメモリで起動しています。

・メッセージ本文などを保存時に暗号化
メッセージ本文などを暗号化と改ざん検知を同時に行える「ChaCha20-Poly1305」で暗号化して保存します。
・ユーザーごとに暗号鍵を付与
ユーザーごとに暗号鍵が用意され、アカウント削除時には暗号鍵を破棄して暗号化済みデータを復号できなくする「Crypto Shredding」が行われます。これにより、バックアップや履歴に暗号化されたメッセージ本文などが残っていても、対応する鍵が失われることで内容を復号できなくなります。
◆Chattoのその他の機能
・画面共有
・全文検索
・通知
・PWA
・バックアップ
・ロールと権限管理
Owner・Admin・Moderatorなどのロールを使い、ユーザーやルームごとに操作権限を細かく設定できます。
・SSO
OIDC・GitHub・Google・Discordなどの外部認証サービスと連携し、既存アカウントを使ってログインできます。
・音声およびビデオ通話
LiveKitを利用した音声・ビデオ通話に対応しており、チャットルームからそのまま会話を始められます。
・GraphQL API
GraphQL APIを通じてChattoの機能やデータへアクセスでき、外部ツールとの連携や独自機能の開発に利用できます。
・NATS API
内部で利用するNATSを通じた連携機能が用意されており、イベント駆動型の外部システムと組み合わせられます。
◆Chattoの評価
ソーシャル系ニュースサイトのHacker Newsでは、Chattoについてさまざまな議論が行われており、「Vibe Codingと経験豊富な開発者が設計判断を行いながらAIに実装を任せるAgentic Engineeringは別物」というAIエージェントに依存した開発でもChattoは好例として評価されています。「モバイルアプリが欲しい」という要望も多くみられ、これに対し「今のところ優れたPWA体験を提供することに全力を注いでいますが、いずれPWAのラッパーとして提供する予定です」と作者からの回答がありました。
◆Chattoサーバーのインストール方法
今回はWindows版バイナリをインストールします。リポジトリのReleasesページにある「chatto_Windows_x86_64.zip」をダウンロードし保存。

保存したZIPファイルを右クリックし「すべて展開」を選択して任意のフォルダーに展開。

コマンドプロンプトを起動し、フォルダーに移動して初期化コマンド「chatto.exe init」を実行。

アカウント作成時にはメールで送信される確認コードによる認証が必要となるため、「chatto.toml」ファイル内の「smtp」ブロックに利用するメールサーバーの情報を入力します。
[smtp] enabled = true host = 【SMTPサーバー】 port = 【SMTPポート】 tls = 【TLS方式】 from = 【送信元アドレス】
サーバー起動コマンド「chatto.exe run」を実行。

ログに接続先URLが表示されればサーバーの起動完了です。

◆Chattoクライアントのインストール方法
今回はWindows版バイナリをインストールします。リポジトリのReleasesページにある「chatto-desktop_【最新バージョン】_Windows_X64.zip」をダウンロードし保存。

保存したZIPファイルを右クリックし「すべて展開」を選択して任意のフォルダーに展開。

展開したフォルダー内にある「chatto-desktop.exe」をダブルクリックして起動。

クライアントが起動すればインストール完了です。

なお、LANやVPN内で試す場合はWindowsバイナリ版でも十分ですが、インターネットへ公開する場合は、独自ドメインやHTTPS・NATS・LiveKitなどを分離して管理でき、外部公開に必要なネットワーク設定やセキュリティ対策も行いやすいDocker版が推奨されています。
・関連記事
オープンソースの暗号化メッセージングアプリ「Session」 - GIGAZINE
ChatGPTでAppleのメッセージアプリを管理できる「Apple Messages Plugin」が登場、メッセージの返信・分類・管理が可能 - GIGAZINE
懐かしい見た目のチャットアプリ「chat.exe」が登場したので使ってみた - GIGAZINE
無料かつメアドや電話番号不要で使えるチャットアプリ「White Noise」レビュー、分散型プロトコル「Nostr」と暗号化を組み合わせて検閲や規制にも強い - GIGAZINE
Twitter創業者のジャック・ドーシーがBluetoothでP2P通信するチャットアプリ「bitchat」を開発中、アカウント作成不要でWi-Fiやモバイル回線に接続せずに通信可能 - GIGAZINE
・関連コンテンツ
in ソフトウェア, レビュー, Posted by darkhorse_logmk
You can read the machine translated English article Chatto is a free self-hosting chat serve….







