diff --git a/plinth/modules/email/__init__.py b/plinth/modules/email/__init__.py index 721976d98..a06a7f2ed 100644 --- a/plinth/modules/email/__init__.py +++ b/plinth/modules/email/__init__.py @@ -52,7 +52,7 @@ class EmailApp(plinth.app.App): app_id = 'email' - _version = 7 + _version = 8 def __init__(self) -> None: """Initialize the email app.""" @@ -93,7 +93,7 @@ class EmailApp(plinth.app.App): 'packages-email', [ 'postfix', 'postfix-sqlite', 'dovecot-pop3d', 'dovecot-imapd', 'dovecot-lmtpd', 'dovecot-managesieved', 'dovecot-ldap', - 'rspamd', 'redis-server', 'openssl' + 'dovecot-fts-xapian', 'rspamd', 'redis-server', 'openssl' ], conflicts=['exim4-base', 'exim4-config', 'exim4-daemon-light'], conflicts_action=Packages.ConflictsAction.REMOVE, rerun_setup_on_upgrade=True) @@ -127,6 +127,7 @@ class EmailApp(plinth.app.App): '/etc/dovecot/conf.d/90-freedombox-master.conf', '/etc/dovecot/conf.d/90-freedombox-tls.conf', '/etc/dovecot/conf.d/95-freedombox-sieve.conf', + '/etc/dovecot/conf.d/95-freedombox-fts.conf', '/etc/dovecot/conf.d/freedombox-ldap.conf.ext' ]) self.add(dropin_configs_dovecot) diff --git a/plinth/modules/email/data/usr/share/freedombox/etc/dovecot/conf.d/2.3/95-freedombox-fts.conf b/plinth/modules/email/data/usr/share/freedombox/etc/dovecot/conf.d/2.3/95-freedombox-fts.conf new file mode 100644 index 000000000..3f716c2c6 --- /dev/null +++ b/plinth/modules/email/data/usr/share/freedombox/etc/dovecot/conf.d/2.3/95-freedombox-fts.conf @@ -0,0 +1,18 @@ +# Do not edit this file. Manage your settings on FreedomBox. + +# Configure full-text search (FTS) for Dovecot. +# https://doc.dovecot.org/2.3/configuration_manual/fts/ +# https://github.com/grosjo/fts-xapian + +mail_plugins = $mail_plugins fts fts_xapian + +plugin { + fts = xapian + fts_autoindex = yes + fts_enforced = yes +} + +service indexer-worker { + vsz_limit = 2G + process_limit = 0 +} diff --git a/plinth/modules/email/data/usr/share/freedombox/etc/dovecot/conf.d/2.4/95-freedombox-fts.conf b/plinth/modules/email/data/usr/share/freedombox/etc/dovecot/conf.d/2.4/95-freedombox-fts.conf new file mode 100644 index 000000000..a715c58a4 --- /dev/null +++ b/plinth/modules/email/data/usr/share/freedombox/etc/dovecot/conf.d/2.4/95-freedombox-fts.conf @@ -0,0 +1,22 @@ +# Do not edit this file. Manage your settings on FreedomBox. + +# Configure full-text search (FTS) for Dovecot. +# https://doc.dovecot.org/2.4.1/core/plugins/fts.html +# https://github.com/grosjo/fts-xapian + +mail_plugins { + fts = yes + fts_xapian = yes +} + +fts freedombox-xapian { + driver = xapian + autoindex = yes +} + +# For dovecot, at least one language must be specified and one single language +# must be flagged as default language. However, this has no impact on FTS Xapian +# module. +language en { + default = yes +}