I did some more ejabberd tests on my homeserver, a VPS and a test VM and it’s working as expected.
- Ejabber service starts and runs without error
- Logrotate works
- users can chat and create rooms
- OMEMO encryption still working
- LDAP/AD working
- uploads working
Tested with following clients
- Gajim
- Psi+
- XMPPJabberClient
- Xabber
I found one warning:
[warning] <0.359.0>@mod_mam:start:98 Mnesia backend for mod_mam is not recommended: it's limited to 2GB and often gets corrupted when reaching this limit. SQL backend is recommended. Namely, for small servers SQLite is a preferred choice because it's very easy to configure.
Can a chat archive reach 2GB when uploads are not stored?
I don’t know if it’s worth the effort but when we have an ejabberd database we may think about storing things from other ejabberd modules too…
It works with postgresql and mariadb102.
nethserver-postgres:
sudo -u postgres psql
CREATE USER ejabberd WITH CREATEDB PASSWORD 'SECRET';
CREATE DATABASE ejabberd OWNER ejabberd;
\q
cat /opt/ejabberd-20.03/lib/ejabberd-20.03/priv/sql/pg.sql | sudo -u ejabberd psql ejabberd
nethserver-mariadb102:
echo "CREATE DATABASE ejabberd;" | mysql102
echo "GRANT ALL ON ejabberd.* TO 'ejabberd'@'localhost' IDENTIFIED BY 'SECRET';" | mysql102
mysql102 -D ejabberd < /opt/ejabberd-20.03/lib/ejabberd-20.03/priv/sql/mysql.sql
Copy template fragment to edit as template-custom:
mkdir -p /etc/e-smith/templates-custom/etc/ejabberd/ejabberd.yml/
cp /etc/e-smith/templates/etc/ejabberd/ejabberd.yml/85Modules /etc/e-smith/templates-custom/etc/ejabberd/ejabberd.yml/
Edit begin of /etc/e-smith/templates-custom/etc/ejabberd/ejabberd.yml/85Modules
to fit to your DB engine:
sql_type: pgsql
sql_port: 5432
#sql_type: mysql
#sql_port: 3312
sql_server: "localhost"
sql_database: "ejabberd"
sql_username: "ejabberd"
sql_password: "SECRET"
and edit the db_type in mod_mam part:
mod_mam:
db_type: sql
Apply and there should be no warning anymore.
signal-event nethserver-ejabberd-update
Source: