TCP、BOSH、WebSockets経由のクライアント接続に対応する、モジュール式で設定可能なJava製XMPP/Jabberチャットサーバー。
processone/ejabberd
XMPPチャット、MQTTメッセージング、SIP音声・ビデオシグナリングに対応する、Erlang製のオープンソースリアルタイムサーバー。
- スター
- 6,749
- フォーク
- 1,553
- 未解決の Issue
- 224
- 最終コミット
- 一昨日
これは何?
ejabberdは、Erlang/OTPで書かれたリアルタイムメッセージングプラットフォームです。インスタントメッセージングやグループチャット向けのXMPPサーバー、IoTやデバイス向けメッセージングのMQTTブローカー、音声・ビデオセッションのシグナリングを担うSIPサービスとして機能します。
高負荷でも安定稼働し、拡張可能なメッセージングバックエンドを必要とする運用者を対象としています。ソースコード、複数のOS向けリリースパッケージ、Homebrew、Dockerコンテナからインストールでき、ドキュメントでは管理方法や開発者向けの拡張ポイントを解説しています。
開発状況はGitHub Issuesで管理されており、対応するXMPPプロトコル拡張の一覧がプロジェクトのWebサイトに掲載されています。
主な機能
- 01インスタントメッセージングやグループチャット向けのXMPPサーバーを実装しています。
- 02デバイスやIoT向けメッセージング用のMQTTブローカーを備えています。
- 03音声・ビデオセッションのシグナリングを担うSIPサービスを提供します。
- 04堅牢性とスケーラビリティを備えたErlang/OTPを基盤としています。
- 05ソースコード、OSパッケージ、Homebrew formula、Dockerイメージで提供されています。
ユースケース
- チームやコミュニティ向けに、セルフホスト型のXMPPチャットサーバーを運用する。
- IoTデバイスを接続するMQTTブローカーを運用する。
- 音声・ビデオ通話向けのSIPシグナリングを導入する。
クイックスタート
- 1
ProcessOneのダウンロードページまたはGitHub Releasesからejabberdをインストールするか、HomebrewまたはDockerを使用します
- 2
ejabberdのインストール後、利用可能なejabberdctlコマンドを確認します
ejabberdctl help - 3
サンプル設定ファイルのマニュアルページを読みます
man ejabberd.yml
使う前に知っておきたいこと
- コピーレフトライセンスであるGPL v2の下でライセンスされており、派生物の配布もオープンソースにする必要があります。
- ドキュメントでは多くのオプションを扱っているため、サーバーのセットアップと設定にはセルフホスティングの作業が必要です。
トピック
よくある質問
- ejabberd とは?
- XMPPチャット、MQTTメッセージング、SIP音声・ビデオシグナリングに対応する、Erlang製のオープンソースリアルタイムサーバー。 ejabberdは、Erlang/OTPで書かれたリアルタイムメッセージングプラットフォームです。インスタントメッセージングやグループチャット向けのXMPPサーバー、IoTやデバイス向けメッセージングのMQTTブローカー、音声・ビデオセッションのシグナリングを担うSIPサービスとして機能します。
- ejabberd は無料で使えますか?ライセンスは?
- ejabberd は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- ejabberd は今もメンテナンスされていますか?
- 活発にメンテナンス中。ejabberd の最終コミットは 2026年11月4日 です。
- ejabberd は何に使えますか?
- チームやコミュニティ向けに、セルフホスト型のXMPPチャットサーバーを運用する。 IoTデバイスを接続するMQTTブローカーを運用する。 音声・ビデオ通話向けのSIPシグナリングを導入する。
- ejabberd のインストール方法は?
- ProcessOneのダウンロードページまたはGitHub Releasesからejabberdをインストールするか、HomebrewまたはDockerを使用します ejabberdのインストール後、利用可能なejabberdctlコマンドを確認します: ejabberdctl help サンプル設定ファイルのマニュアルページを読みます: man ejabberd.yml
- ejabberd はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/processone/ejabberd
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
通常のSIP電話クライアントからJitsi Meetのビデオ会議に参加できるサーバーサイドゲートウェイ。音声の文字起こしと翻訳にも対応します。
大規模な企業環境向けに設計された、Erlang製のスケーラブルで耐障害性に優れたXMPPインスタントメッセージングサーバー。
Raspberry Piからマルチコアサーバーまで、汎用ハードウェアをSIP/VoIPスイッチに変えるソフトウェア定義型の通信基盤。
Kamailioは、大規模なVoIP、電話、リアルタイム通信プラットフォーム向けのオープンソースSIPシグナリングサーバーです。
uWebSockets.jsを基盤とするチャットサーバー。XMPPに代わる選択肢として、Node.jsバックエンド、MongoDB、Redisを採用しています。