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: in order to test and validate your XMPP servers, here are useful tools:
- More components? It is probable that we will offer:
- Icicle: ICE, STUN/TRUN server
- Platypus: a push notification server
- XMPP client libraries: we recommend 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:
In case of any suggestions, questions or any thoughts, please feel free to contact us:
- Defacto standard GitHub issues: https://github.com/esl/MongooseIM/issues
- Email us at mongoose-im@erlang-solutions.com
- 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 take care to 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