Version 5 (modified by Jamie McClelland, 5 years ago) (diff)


Prosody Admin Docs

See also our user facing docs.

Our XMPP server runs prosody on

Our custom configuration is in /etc/prosody/conf.d/ - please do not edit /etc/prosody/prosody.cfg.lua (we also have for backward compatability sake but we should encourage everyone to re-register from their to

We using an external auth script to authenticate people (/etc/prosody/ that uses our login service so everyone can login with the user/pass that they already have.


We have the prosody-modules package installed via debian and from that package we have enabled the carbons (copy messages to all clients) and smacks (stream management) modules.

In addition, we have a number of modules that are not (yet) packaged in debian that we must upgrade ourselves by hand.

The source code for the modules is located in:


It is populated via mercurial, so to update, run:

0 mcchesney:/usr/local/src/prosody-modules-source# hg update
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
0 mcchesney:/usr/local/src/prosody-modules-source# 

The live modules should then be copied to:


And then prosody should be restarted.

At the moment we are maintaining:

  • mod_auth_external.lua: allows for external auth
  • mod_csi: allows clients to request that certain updates not be propagated to preserve battery
  • mod_filter_chatstates: works with mod_csi to avoid chat state updates
  • mod_throttle_presence: works with mod_csi to avoid presence updates
  • mod_mam: maintains chats in an archive to be re-delivered when you come back online. Stores for only a week. Note: becuase we are running prosody .9, our only option seems to be in-memory storage, so we will lose archive messages on reboot.

Debian packages

We have the following Debian packages installed:

  • prosody
  • prosody-modules
  • lua-sec
  • lua-lpty
  • lua-event


We have srv records:

0 jamie@turkey:~$ dig +short -t srv
0 0 5222
0 jamie@turkey:~$ dig +short -t srv
0 0 5269
0 jamie@turkey:~$ 

The is kept for backward compatability. Everyone should use <username> rather than <username>