view mod_migrate/README.markdown @ 3355:3bc68057f232

mod_password_reset: Implement password policy enforcement (requires mod_password_policy)
author Matthew Wild <>
date Tue, 09 Oct 2018 14:12:45 +0100
parents c5122b7633a8
line wrap: on
line source

summary: prosodyctl cross storage driver migration tool


This module adds a command to `prosodyctl` for copying data between
storage drivers.


    prosodyctl mod_migrate <source-store>[-<store-type>] <target-driver> [users]*

`<source-store>` would be e.g. `accounts` or `private`. To migrate
archives, the optional suffix `<store-type>` would be set to `archive`,
so e.g. `archive2-archive` or `muc_log-archive`. Multiple stores can be
given if separated by commas.

`<target-driver>` is the storage driver to copy data to, sans the
`mod_storage_` prefix.

`mod_migrate` tries to request a list of users from `usermanager`, but
this does not always work. If so, you can supply usernames as arguments
after the target driver.

The process is something like this:

1.  Decide on the future configuration and add for example SQL
    connection details to your prosody config, but don't change the
    `store` option yet.
2.  With Prosody shut down, run
    `prosodyctl mod_migrate accounts sql`
3.  Repeat for each store, substituting 'accounts'. E.g. vcards,
4.  Change the [`storage` configuration](
    to use the new driver.
5.  Start prosody again.


``` sh
prosodyctl mod_migrate accounts,roster,private,vcard sql


Should work with 0.8 and later.