We use ejabberd to power the XMPP-Service behind jabber.at and jabber.fsinf.at, which no longer allows registrations (the CMS is a Drupal). Due to ejabberd being written in erlang, no real code has been contributed to ejabberd so far, but we do submit bug reports. We also collect information on how to configure ejabberd nodes at runtime.
Because we encourage others to run their own jabber servers, we share our (fairly advanced) configuration with the world. You can find the files in github.com/mathiasertl/jabber.at. All sensitive information is located in another file called secrets.cfg that is not included in the repository, look at the file secrets.cfg.example to see how the file should look like.
Due to the use of file inclusion and macro definition, the files only work with ejabberd 2.1.0 or later. We use a few contributed modules, a complete list is usually found at the beginning of the file ejabberd.cfg.
There are quite a few tricks that allow you to configure ejabberd at runtime, avoiding downtimes due to reconfiguration. For a list of all known commands, please see ejabberd runtime configuration.
We maintain recent packages for ejabberd in our Apt repositories. The repositories also contains a large number of ejabberd modules found in the ejabberd-modules SVN repository. The ejabberd packages are included in the components ejabberd, jabber and all.
|GitHub #234||Error when updating ejabberd 2.1.3 -> 14.05 database||Mati||Closed||Various commits solved most problems.|
|EJAB-1690||Ejabberd not compiling with Erlang 16||mati||Closed||Turns out to be a missing dependency|
|EJAB-1689||ejabberdctl delete_old_messages hangs, crashes ejabberd||Mati||Resolved||14.05||This caused massive outages in March 2014. No longer reproducible in 14.05.|
|EJAB-1647||Allow blocking of certain MUC names||Mati||Open|
|EJAB-1588||umask option for mod_muc_log||Mati||Fixed||2.1.12|
|EJAB-1515||captcha_host URL is hardcoded to http||Mati||Closed||Now working|
|EJAB-1308||ejabberdctl set_presence is poorly documented (and not working?)||Mati||Open|
|EJAB-1295||ejabberd treats new accounts as "old"||Mati||Closed|
|EJAB-1287||Incorrect detection of Erlang R11 and older||Mati||Closed||2.1.6|
|EJAB-1248||ODBC schemas should include version number||Mati||Open||This should improve the ability to (automatically) update db schemas for MySQL and PostgreSQL.|
|EJAB-1240||Add timestamp to the database schemas (PostgreSQL)||Mati||Resolved||2.1.4/3.0.0||Actually related to EJAB-1235 (see below). It turns out that in EJAB-376 created_at colums where already added to the MySQL schema file. This adds those columns to the PostgreSQL schema file as well.|
|EJAB-1237||"ejabberdctl update" to update modified modules||Mati||Resolved||2.1.5/3.0.0||This introduces the ejabberdctl commands update_list, update_all and update_module. Note that "update_list" does not work with ejabberd-2.1.4.|
|EJAB-1235||Ejabberd should log when a user was created||Mati||Open||Feature improvement to fight bots and delete old accounts.|
|EJAB-1218||ejabberdctl should be able to dump to stdout||Mati||Won't Fix||Impossible to solve with mnesia|
|EJAB-1108||mod_pubsub_odbc creates error||Mati||Closed||Misconfiguration on our side|
|EJAB-1031||web interface doesn't report correct last activity with postgresql backend||Mati||Resolved||2.1.1/3.0||Probably related to EJAB-914: Generally bad PostgreSQL support.|
|EJAB-914||ejabberdctl reports wrong number of total registered users with postgres||Mati||Resolved||2.1.0||Fixed with 2.1.0 (and the switch from mod_ctl_extra to mod_admin_extra)|
|EJAB-834||export to odbc: backslashes not properly escaped||Mati||Closed||This is a problem with the standard postgresql configuration.|
|EJAB-830||mod_private: odbc-dump cannot be imported into postgresql||Mati||Closed||This turned out to be a configuration problem.|