5 ms·
I've set up a XMPP server using Prosody after evaluating what are typically regarded as the top 3 implementations (ejabberd, Openfire, and Prosody). I ended up
by structural 12y ago
I've set up a XMPP server using Prosody after evaluating what are typically regarded as the top 3 implementations (ejabberd, Openfire, and Prosody).
I ended up with a Prosody install primarily for two reasons:
1) Memory consumption/stability
2) Authentication support
The XMPP server hosts up to 700-800 simultaneous users and is located on a machine that provides many other services. With both ejabberd and openfire at this scale, memory consumption was in the several hundred megabyte range and (specifically ejabberd) typically had CPU load of 10-20% of a core.
The prosody setup I ended up using was significantly more lightweight and was simple to set up with server authenticating logins against TLS-enabled LDAP.
In the past, ejabberd was avoided because of serious security issues with the software, but in the past few years it looks like they've gotten their act together somewhat. That said, there's still some recent CVEs, you would want to pay attention to this if deploying ejabberd in any public-facinc infrastructure. As an example, ejabberd used to _require_ storing all passwords in plaintext, claiming that this was "more secure" than the alternatives (ref: https://www.ejabberd.im/plaintext-passwords-db https://www.ejabberd.im/plaintext-passwords-db)
- hackerboos 12y agomongooseIM (an ejabberd fork) is also worth considering. If you are new to XMPP then I'd recommend Prosody, very approachable and written in Lua if I recall correctly.
- bruo 12y agoAlso, if you go with prosody you can install https://github.com/dgoulet/prosody-otr https://github.com/dgoulet/prosody-otr to enforce OTR on chats.
- mike-cardwell 12y ago+1 for Prosody. I run it from my server at home. Easy to install. Don't remember the last time I had to do any maintenance. My XMPP details are in my profile if anyone wants to test federation.
- thallian 12y ago+1 for Prosody. I run it on a much smaller scale with imap authentication and it works flawlessly.