Skip to content

MongooseIM platform overview

GitHub Actions CircleCI Codecov Coveralls GitHub release

Get to know MongooseIM

MongooseIM is a robust, scalable and efficient XMPP server at the core of an 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 a VM.

MongooseIM can accept client sessions over vanilla XMPP, GraphQL API, 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, GraphQL API and REST API.

MongooseIM is brought to you by Erlang Solutions.

MongooseIM platform components

MongooseIM platform schema

Server-side components

We offer a set of additional server-side components:

  • WombatOAM is a powerful monitoring platform that comes with a dedicated MongooseIM plugin
  • mongoose_metrics is a internal module that provides various metrics about the server, if you use WombatOAM with MongooseIM plugin then you will see them otherwise you can use e.g. InfluxDB and Grafana to store and visualize them
  • Test suite is written with the help of these useful tools:
    • escalus: an XMPP client for Erlang
    • amoc: a load testing tool
  • MongooseICE: is a STUN and TURN server written for traversing NATs and relaying streams
  • MongoosePush: is a flexible push notification server with APNS and FCM support

Client-side components

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

MongooseIM platform's mongooses faces

Download packages

For a quick start just download:

See the installation guide for more details.

Public testing

Check out our test results:

Versions

See the documentation for the latest releases:

Participate!

Suggestions, questions, thoughts? Contact us directly: