MongooseIM is a mobile messaging platform with focus on performance and scalability
Erlang JavaScript Shell C API Blueprint Makefile Other
Latest commit 618447e Dec 8, 2016 @goddammit goddammit committed with michalwski [skip ci] Swagger spec improvements (#1094)
* first draft of the new client swagger

* second draft - client swagger

* fixed a typo

* included Michal's feedback [skip ci]

* first draft of the backend swagger

*  fied some glitches -  backend swagger
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 #1095 from esl/stop-hibernated-room Dec 6, 2016
doc [skip ci] Swagger spec improvements (#1094) Dec 8, 2016
examples Cleanup `examples` Aug 20, 2014
priv Finalize rename to MongooseIM Feb 19, 2014
rel support for dhfile Nov 24, 2016
src universal version generator Oct 19, 2015
test/ejabberd_tests Merge pull request #1096 from esl/remove-jid-lookup-by-atoms Dec 7, 2016
tools fixing PR comments Nov 24, 2016
.gitignore migrating from mysql driver to p1_mysql Nov 8, 2016
.gitmodules Use rebar dependencies instead of submodules for tests Sep 5, 2012
.travis.yml Remove support for cassandra Nov 4, 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] roadmap influence Jul 22, 2016
COPYING * src/msgs/nl.msg: Updated (thanks to Sander Devrieze) Oct 9, 2004
Makefile support for dhfile Nov 24, 2016 restore real in root dir [skip ci] Nov 9, 2016
VERSION bump version to 2.0.0 Nov 8, 2016
dialyzer.ignore-warnings added dialyzer targets to makefile Apr 14, 2012 Disable suppressing undefined_callbacks warning Oct 11, 2016
elvis.config tune down Elvis' sensitivity to code duplication (reason: it complain… Sep 26, 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 tls library migration to fast_tls Nov 24, 2016
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

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: