Deploy Now

Stars

1,759

Forks

444

Watchers

86

Developer links

MongooseIM

Running chat for a dozen people is easy; running it for a city-sized crowd, on servers you control, with group rooms, archived history, and phones that still buzz when the app is closed, is the job MongooseIM was built for. MongooseIM is an XMPP server at the core of a messaging platform, so any standard XMPP client on desktop, mobile, or web can connect, and browser clients reach it over WebSockets or BOSH. Group conversations run in multi-user chat rooms, message archive management keeps searchable history on the server, and message carbons deliver real-time copies to every signed-in device a person owns. Offline messages wait for reconnecting clients, rosters carry contact lists and presence, and privacy settings plus vCard profiles round out the everyday chat features. Operators manage users, rosters, messages, and settings through a GraphQL API over HTTP or the mongooseimctl command line, and more than fifty built-in metrics show what is happening inside each node. Accounts authenticate against internal storage, MySQL, PostgreSQL, Cassandra, LDAP, or external scripts, and multi-tenancy support creates thousands of chat domains dynamically on one deployment. Adding cluster nodes raises capacity as the audience grows, and the companion push component wakes mobile apps through push notifications. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. GPL-2.0 licensed.

MongooseIM
MongooseIM

Benefits

  • Chat Infrastructure You Own
  • Commercial chat platforms rent you seats and keep the messages. Running your own XMPP server means your users, archives, and traffic patterns stay on infrastructure answerable only to you.
  • Rooms, History, And Every Device
  • Multi-user rooms, server-side archives, and message carbons give people the group chat, searchable past, and continued conversations across phone and laptop that they expect from modern messaging.
  • Built To Outgrow One Machine
  • Clustering spreads sessions across nodes with fault tolerance, multi-tenancy hosts thousands of domains on one deployment, and metrics on every node show where capacity is going.
  • Managed Through An API
  • The GraphQL API and mongooseimctl manage users, rosters, messages, and settings programmatically, so provisioning chat accounts becomes part of your signup and admin tooling.

Features

  • Multi-User Chat Rooms
  • Persistent group rooms for teams and communities, alongside one-to-one messaging with presence, rosters, offline delivery, privacy lists, and vCard profiles.
  • Message Archive Management
  • Server-side history that clients can page through later, stored in relational databases, Cassandra, or ElasticSearch according to how your deployment grows.
  • GraphQL Admin API
  • Users, rosters, messages, and settings managed over HTTP or the mongooseimctl tool, with separate admin and client facing GraphQL surfaces.
  • Clustering And Multi-Tenancy
  • Nodes cluster for fault tolerance and capacity, and dynamic domains let one installation serve thousands of separate chat domains without restarts.
  • Flexible Authentication Backends
  • Authenticate against the internal database, MySQL, PostgreSQL, Cassandra, LDAP, HTTP services, or external scripts, with anonymous access where a deployment wants it.
  • Metrics And Push Support
  • More than fifty XMPP metrics expose node health, and the MongoosePush companion delivers mobile push notifications when chat apps are closed.

Apps Similar to MongooseIM