ejabberd
ejabberd copied to clipboard
Support ERL_DIST_PORT option to work without epmd
Support ERL_DIST_PORT option to work without epmd
Notice:
- Erlang/OTP 23.1 or higher is required to use ERL_DIST_PORT
make relivedoesn't support ERL_DIST_PORT, neither rebar3 nor elixir- To use "ejabberd" script:
ERL_DIST_PORT=5210 _build/dev/rel/ejabberd/bin/ejabberd ping - It seems
make installdoesn't work with Elixir's mix since at least ejabberd 21.07, maybe older - To connect from local "ejabberdctl" to containerized ejabberd: export port 5210 from container, and share COOKIE file
Successfully tested with:
- Erlang/OTP 23.1 and 25.0
- rebar 2.6.4
- rebar3 3.14.3 and 3.18
- elixir 1.10.3 and 1.13
Reference: https://www.erlang.org/blog/otp-23-highlights/ https://blog.erlware.org/epmdlessless/
Coverage increased (+0.02%) to 33.624% when pulling f8ec654d0154f2db0ab6f8e5b915380c6715284e on badlop:erldistport into fbf43f2a310bc011c5d4a4df0b9b786a55a14207 on processone:master.
RE your comments in #3896, I am not currently experiencing any difficulty related to epmd in a containerized and clustered configuration. With that having been said (and having read the erlware blog post), I think this could certainly simplify containerized deployments.
Aha. I guess the safest path is to keep the option disabled by default in the container, prepare it to be supereasy to enable, and announce this option in the next ejabberd release, so people may experiment with it and provide feedback.
Ok, in the end I've comitted support for ERL_DIST_PORT, disabled by default in ejabberd itself (30f1e284681db482ef78da6d865ccc79120e4ca3) and also disabled by default in the container (5ee1dc9e8d80d52ec9f3dd3f043dfdd4c90c303a).