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:
- Home: http://github.com/esl/MongooseIM
- Product page: https://www.erlang-solutions.com/products/mongooseim.html
- Documentation: http://mongooseim.readthedocs.org/
It is brought to you by Erlang Solutions and Inaka.
For a quick start just download:
- The pre-built packages that suits your platform (Ubuntu, Debian, CentOS, and macOS)
- The Docker image: https://hub.docker.com/r/mongooseim/mongooseim/ (source code repository: https://github.com/esl/mongooseim-docker)
Check out our test results:
- Continuous integration: https://travis-ci.org/esl/MongooseIM
- Code coverage: https://coveralls.io/github/esl/MongooseIM
- Stay tuned... more soon!
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:
- More components? There are some ideas we're working on. Tune in for updates on
- MongooseICE: ICE, STUN/TRUN server
- MongoosePush: a push notification server
- XMPP client libraries: we recommend the following client libraries:
- iOS, Objective-C: XMPPframework
- Android, Java: Smack
- Web, JavaScript: Stanza.io, Strophe.js
- REST API client libraries: we recommend following client libraries:
Suggestions, questions, thoughts? Contact us directly:
- Defacto standard GitHub issues: https://github.com/esl/MongooseIM/issues
- Email us at [email protected]
- Create a post on erlangcentral forums at https://erlangcentral.org/forum/mongooseim/
- Follow our Twitter account: https://twitter.com/MongooseIM
- Like our Facebook page: https://www.facebook.com/MongooseIM/
- Subscribe to our mailing list at https://groups.google.com/d/forum/mongooseim-announce as it is only one or two emails per month, the archives are free and open (click on the blue button "Join group", then click in "Email delivery preference" on "Notify me for every new message")
Up-to-date documentation for the MongooseIM master branch can be found on ReadTheDocs:
- http://mongooseim.readthedocs.org/en/latest/
- release 2.0.0
- Older versions:
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/README.md.'
The MongooseIM platform documentation:
- User Guide
- Features and supported standards contains the list of supported XEPs, RFCs and database backends
- Get to know MongooseIM contains the overview of our application, its architecture and deployment strategies
- Getting started is a step-by-step guide on how to:
- Build MongooseIM on a supported OS
- Perform basic configuration
- Use the main administration script,
mongooseimctl
- Release/Installation configuration
- High-level Architecture from single to multiple node setup to multi-datacenter
- How to build from source code
- Platform:
- Configuration
- MongooseIM open XMPP extensions:
- REST API for client developers
- Operation and maintenance
- Server developer guide