Community modules

We have a repository for community and experimental modules that are not distributed as part of Prosody.

If you are a developer and would like to host your Prosody module in this repository, or want to contribute to existing modules, simply introduce yourself and request commit access on our mailing list.

Notes for users

There are lots of fun and exciting modules to be found here, we know you'll like it. However please note that each module is in a different state of development. Some are proof-of-concept, others are quite stable and ready for production use. Be sure to read the documentation page of any module before installing it on your server.

Installation instructions can be found at installing community modules. You can also browse the available modules at

Guidelines for developers

  • Each module should be contained in a folder of its name (e.g. mod_ping/mod_ping.lua)
  • Each module should have a README.markdown file in their folder with a description, usage, configuration and todo sections (feel free to copy an existing one as a template)
  • Commit messages should begin with the name of the plugin they are for (e.g. "mod_ping: Set correct namespace on pongs")

Google Code migration

In August 2015, the source code repository for these modules moved from Google Code to our own site,

If you have previously used Mercurial (hg) to pull updates from the old repository, you will need to change the URL that it pulls from.

Updating Mercurial's repository URL

First, change directory to where your prosody-modules are stored. This could be anywhere (you can check your Prosody configuration's plugin_paths option if you're unsure). Here we'll assume they are in /usr/local/lib/prosody-modules:

cd /usr/local/lib/prosody-modules

Then edit the file '.hg/hgrc' with your preferred editor, e.g. nano:

nano .hg/hgrc

The file you see will look something like this:

default =

Change the 'default' URL to - so that it looks like this:

default =