ページ内ナビ
概要
SAMA ServerはNode.jsとuWebSockets.jsを使うリアルタイムmessaging serverです。MongoDBにデータを保存し、Redisで複数nodeの接続情報や利用者状態を共有し、MinIO/S3系storageも組み合わせられます。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
WebSocketとHTTP APIでchat機能を提供する
users、conversations、messages、activities、address book、push notificationなどのAPIを提供し、browserやmobile clientからmessaging backendとして利用できます。
出典:[2]
Redisで複数nodeを発見・接続し利用者状態を共有する
各nodeはRedisへendpointとuser/device stateを書き込み、他nodeを発見してWebSocket connectionを確立します。切断時のreconnectとdestroyed node cleanupもREADMEで説明されています。
出典:[2]
full Composeでclient・server・DB・object storageまで起動する
docker-compose-full.ymlはSAMA client、nginx、server、push service、MongoDB、Redis、MinIOを一つのstackとして定義しています。
出典:[3]
向いている用途
独自chat productのself-hosted backendを構築したい場合に向く
XMPPそのものではなく独自protocol/APIを使い、WebSocket中心のmessaging backendを自社環境で運用したいケースの候補になります。
出典:[2]
導入前の確認
sample credentialをそのまま公開環境へ持ち込まない
repositoryの環境設定にはdevelopment用のJWT secret、MinIO credential、admin keyなどのsample値があります。公開前に全secret、CORS、TLS、storage credentialを変更します。
出典:[3]
固定network・複数serviceを含むためproduction topologyを再設計する
full Composeは固定private IP、複数port、MongoDB・Redis・MinIOを一体で構成しています。本番ではHA、persistent volume、backup、TLS termination、監視を環境に合わせて設計します。
出典:[3]
参考にした公式資料
- [1]SAMA-Communications/sama-server repository(2026-10-01)
- [2]SAMA Server README(2026-10-01)
- [3]SAMA full Docker Compose(2026-10-01)
- [4]SAMA Server package.json(2026-10-01)
- [5]SAMA Server 0.37.2 release(2026-10-01)
- [6]SAMA Server GPL-3.0 license(2026-10-01)
編集部からの補足
XMPPの代替を意識したリアルタイムmessaging serverで、複数nodeの接続・利用者状態をRedisで共有するcluster設計までrepository内で確認できます。Docker Composeでclient・nginx・MongoDB・Redis・MinIOまで含む構成を試せます。
3ステップで試す
- 1
SAMA Serverを取得
serverとfull Docker Compose構成を含む公式repositoryを取得します。
git clone https://github.com/SAMA-Communications/sama-server.git && cd sama-server - 2
development用credentialを確認
JWT、MinIO、admin key、CORSなどのdevelopment値を確認します。公開環境ではsample値をそのまま使用しません。
Edit .env.docker and replace sample secrets before any exposed deployment - 3
full stackを起動
client、nginx、SAMA Server、MongoDB、Redis、MinIOなどを含むfull Compose stackをbuildして起動します。
docker compose -f docker-compose-full.yml up -d --build
成長
成長の推移 · 直近30日
158 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 1
- Open PR
- 1
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
GitHubデータ
GitHubのデータGitHubの詳細データを見る
GitHub Topics
- chat
- chat-application
- chat-server
- chatserver
- nodejs
- websocket
- xmpp
- xmpp-server
- Stars
- 158
- Forks
- 14
- Watchers
- 4
- Open Issues
- 1
- Contributors
- 5
- 所有者種別
- Organization
- 主要言語
- JavaScript
- ライセンス
- GPL-3.0
- リポジトリ最終更新
- 2026/09/30
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- NanoClaw30,863 Stars
共通タグ 3件 · 共通カテゴリ 1件
AI agentをgroupごとのcontainerへ隔離し、messaging・memory・schedule・credential gatewayをつなぐ
TypeScript - Stoat Backend3,368 Stars
共通タグ 4件 · 共通カテゴリ 2件
チャットのAPI・realtime・file・通知を複数serviceへ分けてself-hostするRust基盤
Rust - OpenSign7,050 Stars
共通タグ 4件 · 共通カテゴリ 1件 · 同じ言語
PDF署名・複数署名者・監査証跡をセルフホストできる電子署名基盤
JavaScript - itsnotes35 Stars
共通タグ 4件 · 共通カテゴリ 1件 · 同じ言語
Google Keep風の操作感にMarkdown mirror・REST API・MCPを組み合わせるself-host notes
JavaScript - Rocket.Chat46,204 Stars
共通タグ 3件 · 共通カテゴリ 2件
communication dataとnetwork境界を自組織で管理できるOpen Core collaboration platform
TypeScript - Zulip25,986 Stars
共通タグ 3件 · 共通カテゴリ 2件
Stream内をTopicで整理し、Realtime Chatと非同期会話を両立するTeam Chat
Python
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。