25
1
mirror of https://github.com/processone/ejabberd.git synced 2024-11-24 16:23:40 +01:00
Go to file
Badlop c291c20a3b Fix problem starting ejabberd when first host uses SQL, other one mnesia
The problem appeared when there are several vhosts,
the first vhost uses SQL for persistent data (and RAM for volatile),
and another vhost wants to use Mnesia

Example config to trigger the problem:

  hosts:
    - mysql.localhost
    - localhost
  host_config:
    mysql.localhost:
      default_db: sql

In that case, ejabberd crashed at start with an error like:
[critical] Internal error of module mod_muc has occurred during start:
...
** exception exit: {aborted,
                     {no_exists,
                         [muc_room,
                          [{{muc_room,{'_',<<"conference.localhost">>},'_'},
                            [],
                            ['$_']}]]}}
2024-11-22 19:25:52 +01:00
_checkouts/configure_deps Fix typos 2022-01-24 08:02:04 +08:00
.devcontainer Improve .devcontainer to use use devcontainer image and .vscode 2022-12-13 23:24:01 +01:00
.github Runtime: Test Dialyzer in Rebars jobs (#4281) 2024-11-14 13:58:14 +01:00
.vscode .vscode/launch.json: Experimental support for debugging with Neovim 2024-08-26 15:48:32 +02:00
config Add ExSync tool to "make relive" with Mix 2024-04-30 18:00:06 +02:00
include Minor improvements to support mod_tombstones 2024-10-28 12:06:48 +01:00
lib Dialyzer: Update Elixir code to satisfy dialyzer warnings 2024-03-06 15:25:38 +01:00
m4 Fix portability issue with some shells (#3970) 2023-01-09 16:26:36 +01:00
man Remove mod_tombstone from man, it's in ejabberd-contrib (thanks to Licaon_Kter) 2024-10-28 16:34:22 +01:00
plugins Rename plugin to not clash with plugin from dep 2020-01-08 10:41:48 +01:00
priv Update Spanish and Catalan translations 2024-10-28 13:35:49 +01:00
rel Add Sync tool to "make relive" with Rebar3 2024-04-30 17:59:59 +02:00
sql Also change mysql.new.sql in similar way 2024-07-18 17:55:37 +02:00
src Fix problem starting ejabberd when first host uses SQL, other one mnesia 2024-11-22 19:25:52 +01:00
test Update URLs in docs/conf files for consistency. 2024-10-31 17:30:20 +01:00
tools Bump Expat to 2.6.4 2024-11-14 13:57:47 +01:00
.dockerignore Dockerfile: Cosmetic changes 2023-06-09 00:01:49 +02:00
.gitignore .gitignore: Ignore ctags/etags files 2024-05-19 18:55:38 +02:00
.shellcheckrc Disable some shellcheck warnings 2021-12-23 13:57:06 +01:00
autogen.sh Force regeneration of configure script 2014-04-18 12:13:17 +02:00
CHANGELOG.md Update Changelog to 24.10 2024-10-28 16:34:25 +01:00
CODE_OF_CONDUCT.md Update CODE_OF_CONDUCT.md 2024-07-02 15:42:41 +02:00
COMPILE.md Update URLs in docs/conf files for consistency. 2024-10-31 17:30:20 +01:00
configure.ac Set version to 24.10 2024-10-28 17:02:10 +01:00
configure.bat Switch to rebar build tool 2013-06-13 11:11:02 +02:00
CONTAINER.md CONTAINER.md: Use same general badges in both container images readme files 2024-08-26 15:48:32 +02:00
CONTRIBUTING.md Update URLs in docs/conf files for consistency. 2024-10-31 17:30:20 +01:00
CONTRIBUTORS.md CONTRIBUTORS: UTF-8 encode my name 2018-11-19 15:23:35 +01:00
COPYING Update FSF address 2014-02-22 10:27:40 +00:00
cover.spec Add Coveralls support 2016-03-21 12:01:20 +01:00
ejabberd.doap Result of running "make doap" 2024-11-14 13:57:43 +01:00
ejabberd.init.template Replace Jabber->XMPP and Ejabberd (thanks to Neustradamus)(#3469) 2021-01-11 21:11:20 +01:00
ejabberd.service.template Disable the systemd watchdog by default 2024-11-05 15:37:21 +01:00
ejabberd.yml.example ejabberd.yml.example: Use non-standard STUN port 2024-11-14 12:21:58 +01:00
ejabberdctl.cfg.example Set EJABBERD_OPTS back to "", and use previous flags as example 2023-11-15 14:16:53 +01:00
ejabberdctl.template ejabberdctl: If ERLANG_NODE lacks host, add hostname (#4288) 2024-10-11 11:49:34 +02:00
elvis.config elvis.config: Fix file syntax, set vim mode, disable many tests 2024-08-26 15:48:32 +02:00
erlang_ls.config erlang_ls.config: Let it find paths, update to Erlang 26, enable crossref 2024-08-26 15:48:32 +02:00
inetrc Switch to rebar build tool 2013-06-13 11:11:02 +02:00
install-sh Grant execution permission to install-sh 2024-01-22 17:29:10 +01:00
Makefile.in Fix typos in previous commit 2024-11-22 19:25:49 +01:00
mix.exs Update URLs in docs/conf files for consistency. 2024-10-31 17:30:20 +01:00
mix.lock Bump dialyxir from 1.4.4 to 1.4.5 2024-11-22 10:53:04 +01:00
README.md Update URLs in docs/conf files for consistency. 2024-10-31 17:30:20 +01:00
rebar Rebar/Rebar3: Update binaries to work with Erlang/OTP 24-27 2024-02-21 16:45:24 +01:00
rebar3 Rebar/Rebar3: Update binaries to work with Erlang/OTP 24-27 2024-02-21 16:45:24 +01:00
rebar.config Update dependencies 2024-10-28 16:21:44 +01:00
rebar.config.script rebar.config.script: Require port_compiler 1.15.0 and accept any 1.15.x 2024-06-19 11:51:03 +02:00
rebar.lock Update dependencies 2024-10-28 16:21:44 +01:00
vars.config.in vars.config.in: Remove comment that nowadays is obsolete 2024-02-21 16:46:37 +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.

Community

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

License