wiki:prosody-admin

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

--

Prosody Admin Docs

See also our user facing docs.

Our XMPP server runs prosody on mcchesney.mayfirst.org.

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

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

Modules

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:

/usr/local/src/prosody-modules-source/

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:

/usr/local/lib/prosody/modules

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

DNS

We have srv records:

0 jamie@turkey:~$ dig +short @a.ns.mayfirst.org -t srv _xmpp-client._tcp.mayfirst.org
0 0 5222 im.mayfirst.org.
0 jamie@turkey:~$ dig +short @a.ns.mayfirst.org -t srv _xmpp-server._tcp.mayfirst.org
0 0 5269 im.mayfirst.org.
0 jamie@turkey:~$ 

The im.mayfirst.org is kept for backward compatability. Everyone should use <username>@mayfirst.org rather than <username>@im.mayfirst.org.