ejabberd is a distributed, fault-tolerant technology that allows the creation of large-scale instant messaging applications.
The server can reliably support thousands of simultaneous users on a single node and has been designed to provide exceptional standards of fault tolerance.
ejabberd is free and open source software.
Key Features
- Distributed – un ejabberd on a cluster of machines and all of them will serve the same XMPP domain(s).
- Fault-tolerant – deploy an ejabberd cluster so that all the information required for a properly working service will be replicated permanently on all nodes. This means that if one of the nodes crashes, the others will continue working without disruption. In addition, nodes also can be added or replaced ‘on the fly’.
- Modularity – load only the modules you want.
- Security:
- SASL and STARTTLS for c2s and s2s connections.
- STARTTLS and Dialback s2s connections.
- Web Admin accessible via HTTPS secure access.
- Databases:
- Internal database for fast deployment (Mnesia).
- Native MySQL support.
- Native PostgreSQL support.
- ODBC data storage support.
- Microsoft SQL Server support.
- Authentication:
- Internal authentication.
- PAM, LDAP and ODBC.
- External authentication script.
- Support for virtual hosting.
- Compressing XML streams with Stream Compression (XEP-0138).
- Statistics via Statistics Gathering (XEP-0039).
- IPv6 support both for c2s and s2s connections.
- Multi-User Chat module with support for clustering and HTML logging.
- Users Directory based on users vCards.
- Publish-Subscribe component with support for Personal Eventing.
- Support for web clients: HTTP Polling and HTTP Binding (BOSH).
- Component support: interface with networks such as AIM, ICQ and MSN.
- Administrator-friendly:
- Comprehensive documentation.
- Straightforward installers for Linux.
- Docker packaging to help with deploy / development on Linux, Windows or MacOS.
- Deb and RPM packaging to support most Linux distributions.
- Web administration.
- Shared roster groups.
- Command line administration tool.
- Can integrate with existing authentication mechanisms.
- Capability to send announce messages.
- Internationalization support – translated to 25 languages.
- Cross-platform support – runs under Linux, FreeBSD, NetBSD, Mac OS X, and Windows.
Website: www.process-one.net/en/ejabberd
Support: Documentation, GitHub Code Repository
Developer: ProcessOne
License: GNU General Public License v2.0
ejabberd is written in Erlang. Learn Erlang with our recommended free books and free tutorials.
Related Software
| XMPP Servers | |
|---|---|
| ejabberd | XMPP application server and an MQTT broker |
| Openfire | Real time collaboration (RTC) server |
| MongooseIM | Mobile messaging platform with focus on performance and scalability |
| Prosody | Modern XMPP server that's easy to set up |
| Metronome IM | Lightweight XMPP server with advanced microblogging features |
| Tigase | Scalable XMPP/Jabber server for real-time messaging |
| Snikket | Opinionated XMPP server for simple, private messaging |
| jabberD | Next generation of the jabberd project |
Read our verdict in the software roundup.
Explore our carefully curated directory of recommended free and open source software, covering every major software category.The directory forms part of our extensive collection of articles for Linux enthusiasts. It includes hundreds of detailed reviews, together with free and open source alternatives to proprietary software from companies such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. LinuxLinks also covers interesting projects worth exploring, Linux-compatible hardware, free programming books and tutorials, and much more. Know a useful free and open source Linux application that we haven’t covered? Tell us about it using our submission form. |


Please read our Comment Policy before commenting.