Annotate

mod_storage_metronome_readonly/README.markdown @ 6173:f99f730f2b84

mod_storage_metronome_readonly: Add documentation about how to migrate a MUC domain
author Link Mauve <linkmauve@linkmauve.fr>
date Tue, 28 Jan 2025 22:27:35 +0100
parent 6168:62cd65205c70
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6147
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
1 ---
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
2 labels:
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
3 - 'Type-Storage'
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
4 - 'Stage-Alpha'
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
5 summary: Metronome Read-only Storage Module
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
6 ...
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
7
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
8 Introduction
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
9 ============
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
10
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
11 This is a storage backend using Metronome Lua storage.
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
12
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
13 This module only works in read-only, and was made to be used by [mod\_migrate]
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
14 to migrate from Metronome’s storage.
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
15
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
16 So far it has only been tested migrating to sqlite, because
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
17 mod\_storage\_internal relies on the same `data_path` variable as this module,
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
18 and thus would overwrite the files we just read.
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
19
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
20 I’ve also only tested it on a dump from a Metronome configured by Yunohost, so
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
21 using LDAP and such for user accounts, I don’t yet know how to migrate from
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
22 different Metronome account storages.
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
23
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
24 Configuration
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
25 =============
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
26
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
27 Copy the module to the prosody modules/plugins directory.
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
28
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
29 In Prosody's configuration file, set:
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
30
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
31 storage = "metronome_readonly"
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
32 data_path = "/var/lib/metronome"
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
33
6173
f99f730f2b84 mod_storage_metronome_readonly: Add documentation about how to migrate a MUC domain
Link Mauve <linkmauve@linkmauve.fr>
parents: 6168
diff changeset
34 To run the actual migration, run these two commands (replace `<host>` with the domain you want to migrate):
6147
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
35
6173
f99f730f2b84 mod_storage_metronome_readonly: Add documentation about how to migrate a MUC domain
Link Mauve <linkmauve@linkmauve.fr>
parents: 6168
diff changeset
36 prosodyctl mod_migrate <host> roster,vcard,private,cloud_notify,pep,pep_data-archive,offline-archive,archive-archive,uploads-archive sql
f99f730f2b84 mod_storage_metronome_readonly: Add documentation about how to migrate a MUC domain
Link Mauve <linkmauve@linkmauve.fr>
parents: 6168
diff changeset
37 prosodyctl mod_migrate muc.<host> config,persistent,vcard_muc,muc_log-archive sql
6147
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
38
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
39 It will create a file in `/var/lib/metronome/prosody.sqlite`, after which you
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
40 can change your configuration file to point to it, or alternatively you can
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
41 perform a second migration to the internal storage if you prefer that.
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
42
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
43 Compatibility
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
44 =============
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
45
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
46 ------------------------ --------
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
47 trunk (as of 2025-01-10) Works
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
48 0.12 Untested
6ba0489e4828 mod_storage_metronome_readonly: New module for migrating off Metronome
Link Mauve <linkmauve@linkmauve.fr>
parents:
diff changeset
49 ------------------------ --------