ejabberd vs Profanity

A side-by-side comparison of two self-hosted matrix & xmpp options — licensing, setup difficulty, resource needs, and what each one replaces.

Not the right match-up?
FeatureejabberdProfanity
Deploy effortUnder-an-hour setupRead-the-docs project
Health score91 · Excellent84 · Excellent
CategoryMatrix & XMPPMatrix & XMPP
LicenseGPL-2.0GPL-3.0
LanguageErlangC
Setup difficultyHardMedium
Min. RAM512 MB32 MB
Deploymentdocker, bare-metalbinary, source
GitHub stars★ 6,732★ 1,542
First released20022012
ReplacesSlack, WhatsAppSlack

What are ejabberd and Profanity?

ejabberd

ejabberd is a robust and scalable XMPP server powering instant messaging, presence, and real-time communication. It targets operators running large messaging deployments. It is deployed via Docker or native packages.

  • Highly scalable XMPP server
  • Clustering support
  • Many extension modules
  • MQTT and SIP support

Read the full ejabberd guide →

Profanity

Profanity is a console XMPP client whose interface is inspired by irssi. It supports OMEMO and OTR encryption, group chats, and a fully keyboard-driven workflow for the terminal.

  • Terminal interface
  • OMEMO and OTR encryption
  • Keyboard-driven workflow
  • Plugin support

ejabberd vs Profanity: key differences

Ejabberd is written in Erlang, while Profanity is built with C. Licensing differs — GPL-2.0 for ejabberd versus GPL-3.0 for Profanity. Profanity is the lighter option, starting around 32 MB of RAM against 512 MB for ejabberd. Ejabberd is the more established project (first released 2002), while Profanity arrived in 2012. Ejabberd has the considerably larger community, at 6,732 GitHub stars versus 1,542. Ejabberd lists first-class Docker deployment; Profanity does not.

Why pick each one

Choose ejabberd if…

  • Extremely scalable
  • Battle-tested
  • Standards-based

Watch out for

  • XMPP UX depends on clients
  • Advanced config is complex
ejabberd details

Choose Profanity if…

  • Released under the GPL-3.0 license
  • Active community (1.5k GitHub stars)
  • Written in C
  • Tiny footprint — runs in 32 MB RAM
Profanity details

Frequently asked questions

Is ejabberd or Profanity better?

Neither is universally better. ejabberd has the larger community, while Profanity is simpler to set up (medium difficulty). Choose based on the comparison table above and your own setup.

Are ejabberd and Profanity free and open-source?

Yes. ejabberd is licensed under GPL-2.0 and Profanity under GPL-3.0. Both can be self-hosted at no software cost.

Can I run ejabberd and Profanity with Docker?

ejabberd: yes. Profanity: check the project docs for container support.

Which is lighter on resources, ejabberd or Profanity?

Profanity has the smaller minimum footprint at 32 MB of RAM, compared to about 512 MB for ejabberd. Real-world usage depends on library size, user count, and enabled features.

Related comparisons