Closed badlop closed 2 years ago
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).
This PR implements an option to disable EPMD and use instead a fixed distribution port. This feature is optional, and disabled by default. The proposed port could be 5210, for example.
It would be great if that feature gets tested, and also the current implementation gets reviewed in case there's a simpler way to achieve the required changes in ejabberdctl.template.
Additionally, this PR includes a commit that enables this feature in the container published in the Github Package registry. It would be great if people with experience in containers mention if that feature is worth enabling, if it makes administration easier, or if it introduces more troubles for administering and clustering than benefits...
Notice:
make relive
doesn't support ERL_DIST_PORT, neither rebar3 nor elixirERL_DIST_PORT=5210 _build/dev/rel/ejabberd/bin/ejabberd ping
make install
doesn't work with Elixir's mix since at least ejabberd 21.07, maybe olderSuccessfully tested with:
Reference: https://www.erlang.org/blog/otp-23-highlights/ https://blog.erlware.org/epmdlessless/