MongooseIM is a mobile messaging platform with focus on performance and scalability
Clone or download
arcusfelis Merge pull request #2126 from esl/pubsub_extract_pubsub_item_to_backe…

Extract pubsub_item table operation to pubsub's mnesia backend
Latest commit d408452 Nov 13, 2018
Failed to load latest commit information.
.github [skip ci] move templates to .github dir and fill the content Feb 29, 2016
asn1 asn1/ELDAPv3.asn1 May 25, 2018
big_tests extend pubsub test cases Nov 13, 2018
c_src Use ErlNifUInt64 for retrieving 64bit value from NIF's args. (#1574) Nov 29, 2017
doc Listener Modules doc refactor (#1527) Nov 7, 2018
examples Cleanup `examples` Aug 20, 2014
include Refactor PubSub pubsub_state code to prepare for RDBMS Nov 6, 2018
priv Rename ODBC to RDBMS where relevant. Aug 31, 2018
rel Apply second round of review comments Oct 9, 2018
src Merge pull request #2126 from esl/pubsub_extract_pubsub_item_to_backe… Nov 13, 2018
test Use cowboy_req:parse_header to parse sec-websocket-protocol header Nov 8, 2018
tools Do not load bash completion from brew in Mac OS if it is already loaded Nov 6, 2018
.gitattributes Treat minified javascript as binary (#1635) Jan 12, 2018
.gitignore reorganise certs generation Sep 24, 2018
.gitmodules Use rebar dependencies instead of submodules for tests Sep 5, 2012
.travis.yml run dialyzer job with Erlang/OTP 21.1 Nov 5, 2018
.travis_deploy_rsa.enc Upload CT-reports to esl github account Jan 26, 2016 Release 3.1.0 Jul 24, 2018 Unumbrellafication (#1580) Nov 29, 2017
COPYING * src/msgs/nl.msg: Updated (thanks to Sander Devrieze) Oct 9, 2004
Makefile make elvis Oct 23, 2018 Release 3.1.0 Jul 24, 2018
VERSION Release 3.1.0 Jul 24, 2018
codecov.yml configure codecove to allow small coverage drop Jul 3, 2018
cover.spec Unumbrellafication (#1580) Nov 29, 2017
dialyzer.ignore-warnings added dialyzer targets to makefile Apr 14, 2012 Code style improvements Dec 7, 2016
elvis.config Unumbrellafication (#1580) Nov 29, 2017
index.html Swagger HTTP API doc (#880) Aug 25, 2016
mkdocs.yml describe in doc how mongoose_wpools are organised Oct 31, 2018 fix compatibility issues with OS X Nov 12, 2014
rebar.config use worker_pool 3.2.0 Oct 30, 2018
rebar.config.script Update default DB list assumed by rebar config Apr 18, 2018
rebar.lock use worker_pool 3.2.0 Oct 30, 2018
rebar3 Update rebar3 to 3.6.1 Aug 22, 2018

MongooseIM platform

Build Status Documentation Status Coverage Status codecov GitHub release

Get to know MongooseIM

MongooseIM is a robust and efficient chat (or instant messaging) platform aimed at large installations.

MongooseIM platform's logo

Designed for enterprise, it is fault-tolerant, can utilise the resources of multiple clustered machines, and easily scales for more capacity by simply adding a box or VM.

MongooseIM can accept client sessions over vanilla XMPP, REST API and SSE, as well as Websockets, and BOSH (HTTP long-polling).

As a platform, MongooseIM includes several server-side (backend) and client-side (frontend) components.

We provide a test suite, metrics, a load testing platform, and a monitoring server. We recommend third-party, open source client libraries for XMPP and REST API.

It is brought to you by Erlang Solutions.

MongooseIM platform components:

MongooseIM platform schema

Learn more:

Download packages

For a quick start just download:

Public testing

Check out our test results:


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

Latest releases:

MongooseIM documentation highligts:

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/'


Suggestions, questions, thoughts? Contact us directly: