What Prosody modules do I need to support Conversations?

Solution 1:

Conversations provides a list of XEPs requiring server-side support, reproduced below with links to the corresponding Prosody 0.9.x modules.

For encrypted group chat (OMEMO support), you strictly need only mod_pep and mod_roster. The other modules account for additional functionality in an OMEMO context (e.g. sharing files) and environments (e.g. mobile clients, client behind a firewall).

  • XEP-0065: mod_proxy65
  • XEP-0163: mod_pep (core)
  • XEP-0191: mod_blocking
  • XEP-0198: mod_smacks
  • XEP-0237: mod_roster (core)
  • XEP-0280: mod_carbons
  • XEP-0313: mod_mam (1:1 chat only, for MUC support see Prosody 0.10 notes below)
  • XEP-0352: mod_csi
  • XEP-0363: mod_http_upload
  • XEP-0357: mod_cloud_notify (optional, only required for push notifications)

Notes:

  • mod_proxy65 should ideally point to an alternate DNS record for the same server
  • mod_blocking requires mod_privacy
  • mod_csi doesn't define rules for XEP-0352 - additional modules are required for these definitions, they are listed on the mod_csi page
  • mod_http_upload requires mod_http and others

Prosody 0.10 notes:

  • mod_blocking will be replaced by mod_blocklist
  • mod_carbons will become a core module
  • mod_mam only supports 1:1 chats, Conversations will mark your MUCs as "XEP-0313: MAM unavailable". To support groups, you need mod_mam_muc. But according to the module page (as of March 2017) this works only on trunk (and partially on 0.10)

References:

  • https://github.com/siacs/Conversations#xmpp-features
  • https://prosody.im/doc/xeplist
  • https://wiki.debian.org/InstallingProsody
  • https://samhobbs.co.uk/2016/09/extra-modules-prosody-instant-message-chat-server-raspberry-pi-ubuntu