thunderbird / thunderbird/thundermail-deploy
[Spike] Time Stalwart v0.15 to v0.16 export/import with migrate_v016.py
Open
@ryanjjung is already working on this.
Since Sep 3, 2026.
- Dominant language
- Shell
- Stars
- 0
- Forks
- 0
- Avg merge
- 4h 31m
- Merged PRs (30d)
- 26
Description
Overview
Before committing to the downtime-tolerant migration approach, run a timed end-to-end test of the data export/import path using the official migrate_v016.py script. The goal is to measure how long the export and import take against real production-scale data, so we can size the migration window realistically.
Steps
- Download the migration script:
curl -o migrate_v016.py https://raw.githubusercontent.com/stalwartlabs/stalwart/refs/heads/main/resources/scripts/migrate_v016.py - Export data from the existing prod system (time this step):
python migrate_v016.py dump --url $OLD_STALWART_URL --username $OLD_STALWART_USER --password $OLD_STALWART_PASSWORD --settings settings.json --principals principals.json - Convert the export into an importable format (time this step):
python migrate_v016.py convert --settings settings.json --principals principals.json --config config.json --output export.json - Import into a fresh v0.16 system (time this step):
stalwart-cli apply --file /path/to/export.json
Notes
- Credentials are supplied via environment variables (
OLD_STALWART_URL,OLD_STALWART_USER,OLD_STALWART_PASSWORD) and must not be committed or pasted into this issue. - Record wall-clock time for each step, plus the sizes of
settings.json,principals.json, andexport.json.
Acceptance Criteria
- All four steps run successfully end-to-end
- Per-step durations recorded in a comment on this issue
- Artifact sizes noted (settings.json, principals.json, export.json)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.