This should limit number of possible node names generated by and with that
prevent atom space exhaustion in ejabberd process.
On R23+ we switch to using native dynamic node features and on older
versions we iterate over small number of possible names and skip those
already in use.
control+g is the correct way to enter shell break mode, as documented in
https://www.erlang.org/doc/apps/erts/tty
The ejabberdctl script included in installers use the included VT100,
and that may break when hitting control+c.
In that scenario let's explicitly recommend to not use control+c.
Thanks to Holger Weiß for the report.
Ommit the path to ejabberdctl as it is already located at the $PATH
Also, do not copy Dockerfile into the container as this may unnecessarily trigger re-compiling of ejabberd.
Rename libcap packages to improve compatibility between Alpine versions. This may be beneficial if one specifies an OTP_VSN which was built using an older Alpine base version.
The alpine package libcap has been splitted into libcap2 and libcap-utils in Alpine 3.17. 'libcap' is now an alias for libcap2 and libcap-utils. We define 'so:libcap.so.2' for the runtime stage, as we only need the libraries, not the binaries.
Only libcap2 and tini can't be auto-detected. libcap2 has been renamed in Alpine version 3.17, hence the Dockerfile is not compatible with Alpine versions <3.17
make-*: include musl build in make-binaries
Ctr actions: use github runners to provide bootstrap erlang
- adjust make-binaries script to use github runners' installed erlang
for bootstrapping
- this reduces the need to build an unnecessary toolchain for glibc
based binaries
Instead of including this file in the container with static content:
/opt/ejabberd-master/releases/COOKIE
the cookie file will be generated by erlang in
/opt/ejabberd/.erlang.cookie
or by ejabberdctl if ERLANG_COOKIE environment variable was provided.
Alpine 3.17 includes Erlang/OTP 25, and it segfaults when
used in QEMU for arm64.
Revert "Update Alpine to 3.17 to get Elixir 1.14 required by recent libraries"
This reverts commit 43cae922f3.
* Add log_burst_limit_* options
On our ejabberd deployment we were sometimes seeing more than 500
msgs/sec of legitimate traffic, however this was getting silently
dropped. Provide config options to enable this limit to be configured
from the config file.
* Pass new logging vars in via ejabberdctl
Until now, when stopping the ejabberd container, Erlang is not gracefully
closed, Mnesia is not properly closed... exit code is 137.
With this change, when the container is stopped, Erlang receives the
SIGTERM signal, shutsdown, Mnesia database is properly closed, ...
and exit code is 0.