I'm planning to move my ejabberd server into a docker container. My first thought was to create my own naive dockerfile that would basically just install ejabberd using apk and start it as a foreground process. I would configure it by mounting my config, letsencrypt and data as volumes into /etc/ejabberd, /etc/letsencrypt and /var/lib/ejabberd and hopefully be done with it.
However, then I found your project and it seems a lot more sophisticated. In fact, even so much so that I'm confused as to what it can do. There are quite a lot of scripts in script/* that will be run and it's difficult for me to get a good survey on their purposes without spending a lot of time digging through all the scripts and trying to understand for what they're there - which is for some of them not that easy.
Finally, I decided to ask you about this, because it might also be useful for others stumbling across this repository. You already have a lot of documentation, which I find great, but maybe you could add some introductory section why one would use this container?
Specifically, I'm interested in the following:
What advantages does this Dockerfile have over the naive approach I explained above?
What special magicks are all the scripts for?
Does it install any modules?
Does the PID1 process handle signals and reap zombies, like tini or dumb-init
are the passwords stored plaintext on disk? I understand that it allows to specify external authentication providers, but this looks like too much complexity for me. On my server, I'm simply using auth_password_method: scram - but the config file template doesn't contain auth_password_method, so it looks as this is not supported?
If I'm using letsencrypt, do I have to restart the container after updating the .pem file?
Many thanks, I hope these questions are not too stupid.
Hi,
I'm planning to move my ejabberd server into a docker container. My first thought was to create my own naive dockerfile that would basically just install ejabberd using
apk
and start it as a foreground process. I would configure it by mounting my config, letsencrypt and data as volumes into/etc/ejabberd
,/etc/letsencrypt
and/var/lib/ejabberd
and hopefully be done with it.However, then I found your project and it seems a lot more sophisticated. In fact, even so much so that I'm confused as to what it can do. There are quite a lot of scripts in
script/*
that will be run and it's difficult for me to get a good survey on their purposes without spending a lot of time digging through all the scripts and trying to understand for what they're there - which is for some of them not that easy.Finally, I decided to ask you about this, because it might also be useful for others stumbling across this repository. You already have a lot of documentation, which I find great, but maybe you could add some introductory section why one would use this container?
Specifically, I'm interested in the following:
auth_password_method: scram
- but the config file template doesn't containauth_password_method
, so it looks as this is not supported?Many thanks, I hope these questions are not too stupid.
Best, Thomas