diff --git a/CHANGELOG.md b/CHANGELOG.md
index bc63fcf4..90378ad4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -24,6 +24,8 @@
- Remove sieve to enable hardlink deduplication in LMTP
([#343](https://github.com/deltachat/chatmail/pull/343))
+- dovecot: enable gzip compression on disk
+ ([#341](https://github.com/deltachat/chatmail/pull/341))
## 1.3.0 - 2024-06-06
diff --git a/cmdeploy/src/cmdeploy/dovecot/dovecot.conf.j2 b/cmdeploy/src/cmdeploy/dovecot/dovecot.conf.j2
index 8b380c56..171300ba 100644
--- a/cmdeploy/src/cmdeploy/dovecot/dovecot.conf.j2
+++ b/cmdeploy/src/cmdeploy/dovecot/dovecot.conf.j2
@@ -38,7 +38,14 @@ service imap {
mail_server_admin = mailto:root@{{ config.mail_domain }}
mail_server_comment = Chatmail server
-mail_plugins = quota
+# `zlib` enables compressing messages stored in the maildir.
+# See
+#
+# for documentation.
+#
+# quota plugin documentation:
+#
+mail_plugins = zlib quota
# these are the capabilities Delta Chat cares about actually
# so let's keep the network overhead per login small
@@ -96,7 +103,7 @@ mail_privileged_group = vmail
# Pass all IMAP METADATA requests to the server implementing Dovecot's dict protocol.
mail_attribute_dict = proxy:/run/chatmail-metadata/metadata.socket:metadata
-# Enable IMAP COMPRESS (RFC 4978).
+# `imap_zlib` enables IMAP COMPRESS (RFC 4978).
#
protocol imap {
mail_plugins = $mail_plugins imap_zlib imap_quota
@@ -104,9 +111,6 @@ protocol imap {
}
protocol lmtp {
- # quota plugin documentation:
- #
- #
# notify plugin is a dependency of push_notification plugin:
#
#
@@ -115,7 +119,11 @@ protocol lmtp {
#
# mail_lua and push_notification_lua are needed for Lua push notification handler.
#
- mail_plugins = $mail_plugins quota mail_lua notify push_notification push_notification_lua
+ mail_plugins = $mail_plugins mail_lua notify push_notification push_notification_lua
+}
+
+plugin {
+ zlib_save = gz
}
plugin {