MongooseIM is a mobile messaging platform with focus on performance and scalability
Erlang JavaScript C Shell API Blueprint Makefile Other
Latest commit 975d69d Jan 13, 2017 @fenek fenek committed on GitHub Merge pull request #1141 from esl/fix-race-condition-in-ejabberd_sm
Fix race condition in ejabberd_sm (concurrent write to session)
Failed to load latest commit information.
.github [skip ci] move templates to .github dir and fill the content Feb 29, 2016
apps/ejabberd Merge pull request #1141 from esl/fix-race-condition-in-ejabberd_sm Jan 13, 2017
doc [skip ci] Update MUC Light developer guide Jan 9, 2017
examples Cleanup `examples` Aug 20, 2014
priv Finalize rename to MongooseIM Feb 19, 2014
rel Merge branch 'master' into arc-mam-ca-ci-rebased2 Dec 15, 2016
src universal version generator Oct 19, 2015
test/ejabberd_tests use room specific encoding for messages over SSE Jan 4, 2017
tools Merge remote-tracking branch 'origin/master' into arc-mam-ca-ci-rebased2 Dec 13, 2016
.gitignore Introduce mechanism for specifying inter-module dependencies. Dec 12, 2016
.gitmodules Use rebar dependencies instead of submodules for tests Sep 5, 2012
.travis.yml Code style improvements Dec 7, 2016
.travis_deploy_rsa.enc Upload CT-reports to esl github account Jan 26, 2016 update CHANGLOG for 2.0.0 Nov 8, 2016 [skip ci] added rock to doc Dec 7, 2016
COPYING * src/msgs/nl.msg: Updated (thanks to Sander Devrieze) Oct 9, 2004
Makefile Merge pull request #1029 from esl/elvis-more Dec 12, 2016 [skip ci] Platform schema (#1111) Dec 15, 2016
VERSION bump version to 2.0.0 Nov 8, 2016
dialyzer.ignore-warnings added dialyzer targets to makefile Apr 14, 2012 Code style improvements Dec 7, 2016
elvis.config improving elvis regex in order to accept '_' in the middle of a word Dec 15, 2016
index.html Swagger HTTP API doc (#880) Aug 25, 2016
mkdocs.yml [skip ci] README streamline (#1066) Nov 8, 2016 fix compatibility issues with OS X Nov 12, 2014
rebar update rebar to 2.6.4-4-g576e121 Sep 26, 2016
rebar.config Upgrade to ranch 1.3.0 Jan 6, 2017
rebar.config.script remove workaround for cowboy and R15B03 Dec 8, 2015

MongooseIM platform

MongooseIM platform's logo

MongooseIM is robust and efficient XMPP platform aimed at large installations. Specifically designed for enterprise purposes, it is fault-tolerant, can utilize resources of multiple clustered machines and easily scale in need of more capacity (by just adding a box/VM). MongooseIM can accept client sessions over vanilla XMPP, Websockets, HTTP long-polling (a.k.a. BOSH), and a REST API.

The MongooseIM platform comes with server-side components and client libraries. We provide a test suite and a monitoring server. We recommand third-party, open source client libraries for XMPP and REST API.

The most important links:

It is brought to you by Erlang Solutions and Inaka.

Build Status Documentation Status Coverage Status Buildtime trend GitHub release

MongooseIM platform's mongooses faces

Download packages

For a quick start just download:

Public testing

Check out our test results:

MongooseIM platform components

MongooseIM platform schema

Server-side components

We offer a set of server-side components:

  • WombatOAM is a powerful monitoring platform that comes with specific MongooseIM plugins
  • Test suite: in order to test and validate your XMPP servers, here are useful tools:
    • escalus: Erlang XMPP client
    • amoc: a load testing tools
  • More components? It is probable that we will offer:
    • Icicle: ICE, STUN/TRUN server
    • Platypus: a push notification server

Client-side components

  • XMPP client libraries: we recommend following client libraries:
  • REST API client libraries: we recommend following client libraries:


In case of any suggestions, questions or any thoughts, please feel free to contact us:


Up-to-date documentation for the MongooseIM master branch can be found on ReadTheDocs:

When developing new features/modules, please take care to add basic documentation to the doc/ directory, and add a link to your document in doc/

The MongooseIM platform documentation: