Badlop b7940ba360 Workflows: Don't use jsdelivr mirror: not up-to-date, unnecessary and problematic
* Not up-to-date

jsdelivr takes some days or weeks to get latest erlang versions, compare
  https://builds.hex.pm/builds/otp/arm64/ubuntu-24.04/builds.txt
  https://cdn.jsdelivr.net/hex/builds/otp/arm64/ubuntu-24.04/builds.txt

* Unnecessary

As builds.hex.pm is already geodistributed, there's no need to add mirror
Reference: https://www.hex.pm/docs/mirrors

* Problematic in parallel jobs

The ci.yml workflow is split in separate jobs that run in parallel,
and all of them must use the exact same erlang version.
When using mirrors, different erlang versions may be used...
and then the compiled files require more recompilation, which fail
  ===> Compiling /home/runner/work/ejabberd/ejabberd/c_src/epam.c
  ===> /home/runner/work/ejabberd/ejabberd/c_src/epam.c:18:10: fatal error: security/pam_appl.h: No such file or directory
   18 | #include <security/pam_appl.h>
      |          ^~~~~~~~~~~~~~~~~~~~~

Instead of removing mirrors, an alternative solution would be
to specify exact OTP version: "28.3.2", but then we would need to update
all those strings in ci.yml for every erlang release.
2026-03-10 02:07:41 +01:00
2022-01-24 08:02:04 +08:00
2026-03-06 17:11:09 +01:00
2024-11-25 16:20:19 +01:00
2026-02-11 09:31:06 +01:00
2026-01-05 12:22:57 +01:00
2026-03-06 17:11:09 +01:00
2026-03-06 17:11:09 +01:00
2023-06-09 00:01:49 +02:00
2026-03-06 15:18:25 +01:00
2021-12-23 13:57:06 +01:00
2026-02-11 10:08:11 +01:00
2026-02-11 10:09:39 +01:00
2013-06-13 11:11:02 +02:00
2026-03-06 13:47:50 +01:00
2014-02-22 10:27:40 +00:00
2016-03-21 12:01:20 +01:00
2025-09-03 12:20:42 +02:00
2025-11-13 18:24:00 +01:00
2013-06-13 11:11:02 +02:00
2026-02-16 17:29:52 +01:00
2026-02-20 11:25:01 +01:00
2026-03-06 15:18:25 +01:00
2026-03-06 15:18:25 +01:00
2026-03-06 17:11:09 +01:00
2026-01-05 12:22:57 +01:00


ejabberd is an open-source, robust, scalable and extensible realtime platform built using Erlang/OTP, that includes XMPP Server, MQTT Broker and SIP Service.

Check the features in ejabberd.im, ejabberd Docs, ejabberd at ProcessOne, and the list of supported protocols in ProcessOne and XMPP.org.

Installation

There are several ways to install ejabberd:

More info can be found in the Installation part of ejabberd Docs.

Documentation

Please check the ejabberd Docs website.

When compiling from source code, you can get some help with:

./configure --help
make help

Once ejabberd is installed, try:

ejabberdctl help
man ejabberd.yml

Development

Bug reports and features are tracked using GitHub Issues, please check CONTRIBUTING for details.

Translations can be improved online using Weblate or in your local machine as explained in Localization.

Documentation for developers is available in ejabberd docs: Developers.

There are nightly builds of ejabberd, both for master branch and for Pull Requests:

Security reports or concerns should preferably be reported privately, please send an email to the address: contact at process-one dot net or some other method from ProcessOne Contact.

For commercial offering and support, including ejabberd Business Edition and Fluux (ejabberd in the Cloud), please check ProcessOne ejabberd page.

Security

For information on how to report security vulnerabilities, please refer to the SECURITY.md file. It contains guidelines on how to report vulnerabilities privately and securely, ensuring that any issues are addressed in a timely and confidential manner.

Community

There are several places to get in touch with other ejabberd developers and administrators:

License

S
Description
No description provided
Readme 50 MiB
Languages
Erlang 77.8%
OMNeT++ MSG 16.4%
Shell 2.1%
Elixir 0.8%
TSQL 0.8%
Other 1.9%