next branching policy is used for this repo:
- a dedicated safarifone branch is created for all the customizations and releases
- safarifone branch is set as default branch for the repo
- master branch must be synchronized with original opensource MIM master.
- all the changes to safarifone branch must be done via PRs
- update to the latest opensource codebase must be done by merging master branch into safarifone (using PR)
- custom RPMs are automatically generated and uploaded to the SFTP server by CircleCI
- Getting started
- Developer's guide
- Packages
- Product page: https://www.erlang-solutions.com/products/mongooseim.html
- Documentation: https://mongooseim.readthedocs.org/
MongooseIM is a robust and efficient chat (or instant messaging) platform aimed at large installations.
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:
Learn more:
- Home: http://github.com/esl/MongooseIM
- Product page: https://www.erlang-solutions.com/products/mongooseim.html
- Documentation: https://mongooseim.readthedocs.org/
For a quick start just download:
- The pre-built packages that suit 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
- Continuous Load Testing: https://tide.erlang-solutions.com/
- Load test history:
Up-to-date documentation for the MongooseIM master branch can be found on ReadTheDocs: https://mongooseim.readthedocs.io/en/latest/.
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/README.md.'
- Tutorials. Learn how to:
- User Guide. Learn all about how to use MongooseIM in your project. Explore its features, supported XEPs, RFCs and database backends, as well as its architecture and deployment strategies.
- Configuration. Explore some of the available options including database backend configuration, access control lists, listener and extension modules.
- REST API. Explore MongooseIM features using our REST API and Swagger documentation.
- Operation and maintenance. See what to consider when building, monitoring, testing and distributing MongooseIM clusters.
- Server developer's guide. Get all the information you need to expand MongooseIM platform.
Suggestions, questions, thoughts? Contact us directly:
- Raise a GitHub issue: https://github.com/esl/MongooseIM/issues
- Email us at mongoose-im@erlang-solutions.com
- 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 to receive no more than two montly emails as well as access to the free and open archives.