MongooseIM is a mobile messaging platform with focus on performance and scalability
Erlang JavaScript C Shell API Blueprint Makefile Other
Latest commit f0ec2fc Jul 21, 2017 @michalwski michalwski committed on GitHub Merge pull request #1409 from esl/rest-api-authorize
Use `ejabberd_auth:authorize/1` when authorizing API user
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 #1409 from esl/rest-api-authorize Jul 21, 2017
doc Fine tune MongooseIM logo position Jul 18, 2017
examples Cleanup `examples` Aug 20, 2014
priv Finalize rename to MongooseIM Feb 19, 2014
rel Make auth_jwt more configurable Jul 5, 2017
src rebar3: Enable rebar3 ct Dec 14, 2016
test.disabled/ejabberd_tests Merge pull request #1391 from esl/fix-http-upload-escaping Jul 20, 2017
tools Make auth_jwt more configurable Jul 5, 2017
.gitignore optimise gitignore a bit Jan 25, 2017
.gitmodules Use rebar dependencies instead of submodules for tests Sep 5, 2012
.travis.yml try Erlang OTP 19.3 Mar 29, 2017
.travis_deploy_rsa.enc Upload CT-reports to esl github account Jan 26, 2016 Update version and changelog for beta2 Jul 4, 2017 [skip ci] Fix doc spelling Jun 6, 2017
COPYING * src/msgs/nl.msg: Updated (thanks to Sander Devrieze) Oct 9, 2004
Makefile Make auth_jwt more configurable Jul 5, 2017 Fix typo in May 19, 2017
VERSION Update version and changelog for beta2 Jul 4, 2017
dialyzer.ignore-warnings added dialyzer targets to makefile Apr 14, 2012 Code style improvements Dec 7, 2016
elvis.config Use exml_query:* instead of xml:* Feb 14, 2017
index.html Swagger HTTP API doc (#880) Aug 25, 2016
mkdocs.yml Fine tune MongooseIM logo position Jul 18, 2017 fix compatibility issues with OS X Nov 12, 2014
rebar.config Archive chat markers (#1377) Jul 7, 2017
rebar.config.script create Apps list dynamically in rebar.config.script Dec 14, 2016
rebar.lock Archive chat markers (#1377) Jul 7, 2017
rebar3 Downgrade Rebar3 to 3.3.2. Jan 30, 2017

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 - here are some useful tools to test and validate your XMPP servers:
    • escalus: Erlang XMPP client
    • amoc: a load testing tools
  • More components? There are some ideas we're working on. Tune in for updates on
    • MongooseICE: ICE, STUN/TURN server
    • MongoosePush: a push notification server

Client-side components

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


Suggestions, questions, thoughts? Contact us directly:


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

When developing new features/modules, please make sure you add basic documentation to the 'doc/' directory, and add a link to your document in 'doc/'

The MongooseIM platform documentation: