ejabberd Community Edition

CICoverage StatusTranslation statusHex version

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. As an open source technology, based on industry-standards, ejabberd can be used to build bespoke solutions very cost effectively.

Key Features

Additional Features

Moreover, ejabberd comes with a wide range of other state-of-the-art features:

Quickstart guide

0. Requirements

To compile ejabberd you need:

If your system splits packages in libraries and development headers, you must install the development packages also.

1. Compile and install on *nix systems

To compile ejabberd, execute the following commands. The first one is only necessary if your source tree didn't come with a configure script (In this case you need autoconf installed).

./autogen.sh
./configure
make

To install ejabberd, run this command with system administrator rights (root user):

sudo make install

These commands will:

2. Start ejabberd

You can use the ejabberdctl command line administration script to start and stop ejabberd. For example:

ejabberdctl start

For detailed information please refer to the ejabberd Documentation

3. Use ejabberd locally

Alternatively, you can setup ejabberd without installing in your system:

./configure --with-rebar=rebar3
make dev

Or, if you have Elixir available and plan to develop Elixir code:

./configure --with-rebar=mix
make dev

Check the full list of targets:

make help

Development

In order to assist in the development of ejabberd, and particularly the execution of the test suite, a Vagrant environment is available at https://github.com/processone/ejabberd-vagrant-dev.

To start ejabberd in development mode from the repository directory, you can type a command like:

EJABBERD_CONFIG_PATH=ejabberd.yml erl -pa ebin -pa deps/*/ebin -pa test -pa deps/elixir/lib/*/ebin/ -s ejabberd

Translation

Using any gettext editor, you can improve the translation files found in priv/msgs/*.po, and then submit your changes.

Alternatively, a simple way to improve translations is using our Weblate project: https://hosted.weblate.org/projects/ejabberd/ejabberd-po/

Links