So I've done quite a lot of searching on the list and on the web - and perhaps my google-fu is really bad - but I can't find any real recipes on how to sync mail from the old server to the new.

As an FYI - the old server is a CPanel/WHM setup on a VPS.
The new is mailcow - which uses docker.

However, I don't think either of these platforms is what's causing the issue - but I'm certainly not sure of that.

---
I've tried several things - but have lost track of all the things I've tried.
This seemed like the best of all the things I've tried.

This particular mailbox/user+domain is setup on both servers.

doveadm backup -D -u mc-user@abc.net ssh root@abc.net -p2200 doveadm dsync-server -u cp-user@abc.net

mc-user@abc.net is the MC/NEW mailbox/domain
cp-user@abc.net is the CPanel/OLD user/domain account
The SSH server of the remote system is running on port 2200.

However when I try this, I get:
WARNING: The WATCHDOG_NOTIFY_EMAIL variable is not set. Defaulting to a blank string.
dsync-local(user@abc.net)<v44NFyRWvF5efgAAb6OASA>: Error: read(remote) failed: EOF (version not received)
doveadm(user@abc.net): Fatal: execvp(ssh) failed: No such file or directory

The process appears to hang, and a Ctrl+C stops it.

I'd love to get pointed at a reasonable recipe on how to make this work.

I don't really get/understand the docs much at all.
[And either everyone else understands it just fine, and never thinks to write a document on how to do it - or, and I think this is a lot more likely - they're using something like imapsync to do it. I found numerous places where others were, essentially, "Dovecot's tool is way too complicated and I can't get it to work right, so I used imapsync." I suppose I should probably just do that too, but it does seem a shame to do that when the dovecot tool is almost certainly the best tool for the job, but I can't figure out how to use it.]

If someone can help me grok what's going on, I'm glad to write it up for the list and or a blog entry so it's more accessible.

TIA
-Greg