Joint Scientific IT and Technical Services

Personal Homepage

Dovecot 2.4 with replication support (Cernko, Patrick)

Project is being continued under the new name Wormhole.

The Dovecot IMAP server up to version 2.3 included online replication support. This feature allows setting up a service with two redundant servers. Both servers hold all data of the users. As the replication works in both ways, it allows running the servers in an active-active setup. Using Dovecot's Director feature, the users' requests can be balanced on both servers.

Unfortunately the replication feature was removed in the 2.4 release. I have reintegrated the removed code of the replication feature into Dovecot 2.4.1.

I had to adopt some (few) parts to reflect changes, that where made to the APIs and interfaces. To continue support for mail_replica and noreplicate as userdb settings, I established a workaround. The code has been tested and we started using it in our production environment.

The initial version of the code is provided as a patch for Dovecot 2.4.1:

I am working on a version, that can be provided as an extension/plugin for Dovecot. Currently this version still requires a rather small patch for Dovecot. This patch adds some missing API calls to extend the `dsync` code of Dovecot with required hooks. The current version of the API patch can be found here:

A first version of dovecot-replication as extension/plugin for Dovecot has also been released. This version still requires the API patch from above.

The current version of dovecot-replication can be found at:
https://codeberg.org/errror/dovecot-replication

If you want to contribute or found a bug, feel free to contact me by mail or at codeberg. The code is released with the same license as Dovecot itself (MIT and LGPLv2.1 mostly), see https://doc.dovecot.org/main/license.html.

Project is being continued under the new name Wormhole.