From 1cb805fdc7421a40edca0c8695c22e02271e1fce Mon Sep 17 00:00:00 2001 From: Tero Date: Mon, 14 Sep 2026 21:32:13 +0300 Subject: [PATCH] Fix sync mailboxes script dicker image --- migration/README.md | 3 +++ migration/Sync-Mailboxes.ps1 | 4 ++-- migration/sync-mailboxes.sh | 4 ++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/migration/README.md b/migration/README.md index 4ebaf4e..72ac004 100644 --- a/migration/README.md +++ b/migration/README.md @@ -94,6 +94,9 @@ stalwart-cli apply --file accounts-plan.ndjson ## 5. Copy mail with imapsync +The sync scripts use the upstream `gilleslamiral/imapsync` Docker image. The first +run pulls the image automatically, so Docker Hub access is required. + Linux: ```bash diff --git a/migration/Sync-Mailboxes.ps1 b/migration/Sync-Mailboxes.ps1 index cf5a2cd..1a550dc 100644 --- a/migration/Sync-Mailboxes.ps1 +++ b/migration/Sync-Mailboxes.ps1 @@ -1,7 +1,7 @@ #requires -Version 5.1 <# .SYNOPSIS - Runs imapsync (via the dockerized imapsync/imapsync image) for every account + Runs imapsync (via the upstream gilleslamiral/imapsync image) for every account in a migration accounts.csv, copying mail from docker-mailserver to Stalwart. #> param( @@ -24,7 +24,7 @@ foreach ($row in $rows) { Write-Host "==> Syncing $($row.email)" $dockerArgs = @( - "run", "--rm", "imapsync/imapsync", + "run", "--rm", "gilleslamiral/imapsync", "imapsync", "--host1", $SourceHost, "--port1", $SourcePort, "--ssl1", "--user1", $row.email, "--password1", $row.old_password, "--host2", $DestHost, "--port2", $DestPort, "--ssl2", diff --git a/migration/sync-mailboxes.sh b/migration/sync-mailboxes.sh index cd75645..ca25879 100644 --- a/migration/sync-mailboxes.sh +++ b/migration/sync-mailboxes.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -# Runs imapsync (via the dockerized imapsync/imapsync image) for every account +# Runs imapsync (via the upstream gilleslamiral/imapsync image) for every account # in a migration accounts.csv, copying mail from docker-mailserver to Stalwart. set -euo pipefail @@ -35,7 +35,7 @@ while IFS=',' read -r email new_password old_password aliases quota_mb; do echo "==> Syncing $email" - args=(run --rm imapsync/imapsync + args=(run --rm gilleslamiral/imapsync imapsync --host1 "$SOURCE_HOST" --port1 "$SOURCE_PORT" --ssl1 --user1 "$email" --password1 "$old_password" --host2 "$DEST_HOST" --port2 "$DEST_PORT" --ssl2 --user2 "$email" --password2 "$new_password" --automap --syncinternaldates --skipcrossduplicates --no-modulesversion)