Prosody Plugin Installer

Prosody comes with a plugin installer available since 0.12.0.

Prerequisites

LuaRocks is used and must be installed for the installer to work. See page about dependenices.

Getting started

To use the installer you need to specify where to retrieve modules from.

There are two ways to do this. The first is to give the full URL to a package to install. If you have such an URL, probably ending with .src.rock or similar, you can skip right to the Installing section.

The second is to specify the LuaRocks repository to use. The community modules repository exposes such a repository.

plugin_server = "https://modules.prosody.im/rocks/"

Directory

By default plugins are installed into a directory custom_plugins under the data path. It can be customized by setting

installer_plugin_path = "/path/to/installed/modules"

This path MUST be readable by the user Prosody runs as, and should be writable for prosodyctl install to work.

The installer path does not need to be added to plugin_paths.

Installing

If you have an URL to a package file you can give it directly on the command line like so:

sudo prosodyctl install mod_example_module https://modules.prosody.im/rocks/mod_bob-3-1.src.rock

When you specified a plugin_server you can install modules with only the module name using prosodyctl by running e.g.:

sudo prosodyctl install mod_example_module

Remember that you then need to enable and configure newly installed modules. Remember to read the modules own documentation, as the setup procedure might vary.

Listing

To list all installed modules, use:

sudo prosodyctl list

Modules that can be updated can be listed using:

sudo prosodyctl list --outdated

To update them, simply run the same install command again.

Uninstalling

Installed modules can be removed by running:

sudo prosodyctl remove mod_example_module

Remember to unload the module and disable it by e.g. removing it from modules_enabled, or Prosody will complain about not finding it the next time it starts.