breaking: Drop Dovecot support for Solr (#4025)
This commit is contained in:
parent
92b06c4020
commit
993c7b044f
|
@ -40,6 +40,9 @@ The most noteworthy change of this release is the update of the container's base
|
||||||
- The "Junk" mailbox (folder) is now referenced by it's [special-use flag `\Junk`](https://docker-mailserver.github.io/docker-mailserver/v13.3/examples/use-cases/imap-folders/) instead of an explicit mailbox. ([#3925](https://github.com/docker-mailserver/docker-mailserver/pull/3925))
|
- The "Junk" mailbox (folder) is now referenced by it's [special-use flag `\Junk`](https://docker-mailserver.github.io/docker-mailserver/v13.3/examples/use-cases/imap-folders/) instead of an explicit mailbox. ([#3925](https://github.com/docker-mailserver/docker-mailserver/pull/3925))
|
||||||
- This provides compatibility for the Junk mailbox when it's folder name differs (_eg: Renamed to "Spam"_).
|
- This provides compatibility for the Junk mailbox when it's folder name differs (_eg: Renamed to "Spam"_).
|
||||||
- Potential breakage if your deployment modifies our `spam_to_junk.sieve` sieve script (_which is created during container startup when ENV `MOVE_SPAM_TO_JUNK=1`_) that handles storing spam mail into a users "Junk" mailbox folder.
|
- Potential breakage if your deployment modifies our `spam_to_junk.sieve` sieve script (_which is created during container startup when ENV `MOVE_SPAM_TO_JUNK=1`_) that handles storing spam mail into a users "Junk" mailbox folder.
|
||||||
|
- **Removed support for Solr integration:** ([#4025](https://github.com/docker-mailserver/docker-mailserver/pull/4025))
|
||||||
|
- This was a community contributed feature for FTS (Full Text Search), the docs advise using an image that has not been maintained for over 2 years and lacks ARM64 support. Based on user engagement over the years this feature has very niche value to continue to support, thus is being removed.
|
||||||
|
- If you use Solr, support can be restored if you're willing to contribute docs for the feature that resolves the concerns raised
|
||||||
- **rsyslog:**
|
- **rsyslog:**
|
||||||
- Debian 12 adjusted the `rsyslog` configuration for the default file template from `RSYSLOG_TraditionalFileFormat` to `RSYSLOG_FileFormat` (_upstream default since 2012_). This change may affect you if you have any monitoring / analysis of log output (_eg: `mail.log` / `docker logs`_).
|
- Debian 12 adjusted the `rsyslog` configuration for the default file template from `RSYSLOG_TraditionalFileFormat` to `RSYSLOG_FileFormat` (_upstream default since 2012_). This change may affect you if you have any monitoring / analysis of log output (_eg: `mail.log` / `docker logs`_).
|
||||||
- The two formats are roughly equivalent to [RFC 3164](https://www.rfc-editor.org/rfc/rfc3164)) and [RFC 5424](https://datatracker.ietf.org/doc/html/rfc5424#section-1) respectively.
|
- The two formats are roughly equivalent to [RFC 3164](https://www.rfc-editor.org/rfc/rfc3164)) and [RFC 5424](https://datatracker.ietf.org/doc/html/rfc5424#section-1) respectively.
|
||||||
|
|
|
@ -16,7 +16,7 @@ The [dovecot-fts-xapian](https://github.com/grosjo/fts-xapian) plugin makes use
|
||||||
|
|
||||||
The indexes will be stored as a subfolder named `xapian-indexes` inside your local `mail-data` folder (_`/var/mail` internally_). With the default settings, 10GB of email data may generate around 4GB of indexed data.
|
The indexes will be stored as a subfolder named `xapian-indexes` inside your local `mail-data` folder (_`/var/mail` internally_). With the default settings, 10GB of email data may generate around 4GB of indexed data.
|
||||||
|
|
||||||
While indexing is memory intensive, you can configure the plugin to limit the amount of memory consumed by the index workers. With Xapian being small and fast, this plugin is a good choice for low memory environments (2GB) as compared to Solr.
|
While indexing is memory intensive, you can configure the plugin to limit the amount of memory consumed by the index workers. With Xapian being small and fast, this plugin is a good choice for low memory environments (2GB).
|
||||||
|
|
||||||
#### Setup
|
#### Setup
|
||||||
|
|
||||||
|
@ -137,53 +137,6 @@ While indexing is memory intensive, you can configure the plugin to limit the am
|
||||||
- ./docker-data/dms/cron/fts_xapian:/etc/cron.d/fts_xapian
|
- ./docker-data/dms/cron/fts_xapian:/etc/cron.d/fts_xapian
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
### Solr
|
|
||||||
|
|
||||||
The [dovecot-solr Plugin](https://wiki2.dovecot.org/Plugins/FTS/Solr) is used in conjunction with [Apache Solr](https://lucene.apache.org/solr/) running in a separate container. This is quite straightforward to setup using the following instructions.
|
|
||||||
|
|
||||||
Solr is a mature and fast indexing backend that runs on the JVM. The indexes are relatively compact compared to the size of your total email.
|
|
||||||
|
|
||||||
However, Solr also requires a fair bit of RAM. While Solr is [highly tuneable](https://solr.apache.org/guide/7_0/query-settings-in-solrconfig.html), it may require a bit of testing to get it right.
|
|
||||||
|
|
||||||
#### Setup
|
|
||||||
|
|
||||||
1. `compose.yaml`:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
solr:
|
|
||||||
image: lmmdock/dovecot-solr:latest
|
|
||||||
volumes:
|
|
||||||
- ./docker-data/dms/config/dovecot/solr-dovecot:/opt/solr/server/solr/dovecot
|
|
||||||
restart: always
|
|
||||||
|
|
||||||
mailserver:
|
|
||||||
depends_on:
|
|
||||||
- solr
|
|
||||||
image: ghcr.io/docker-mailserver/docker-mailserver:latest
|
|
||||||
...
|
|
||||||
volumes:
|
|
||||||
...
|
|
||||||
- ./docker-data/dms/config/dovecot/10-plugin.conf:/etc/dovecot/conf.d/10-plugin.conf:ro
|
|
||||||
...
|
|
||||||
```
|
|
||||||
|
|
||||||
2. `./docker-data/dms/config/dovecot/10-plugin.conf`:
|
|
||||||
|
|
||||||
```conf
|
|
||||||
mail_plugins = $mail_plugins fts fts_solr
|
|
||||||
|
|
||||||
plugin {
|
|
||||||
fts = solr
|
|
||||||
fts_autoindex = yes
|
|
||||||
fts_solr = url=http://solr:8983/solr/dovecot/
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
3. Recreate containers: `docker compose down ; docker compose up -d`
|
|
||||||
|
|
||||||
4. Flag all user mailbox FTS indexes as invalid, so they are rescanned on demand when they are next searched: `docker compose exec mailserver doveadm fts rescan -A`
|
|
||||||
|
|
||||||
#### Further Discussion
|
#### Further Discussion
|
||||||
|
|
||||||
See [#905](https://github.com/docker-mailserver/docker-mailserver/issues/905)
|
See [#905](https://github.com/docker-mailserver/docker-mailserver/issues/905)
|
||||||
|
|
|
@ -135,7 +135,7 @@ function _install_dovecot() {
|
||||||
local DOVECOT_PACKAGES=(
|
local DOVECOT_PACKAGES=(
|
||||||
dovecot-core dovecot-imapd
|
dovecot-core dovecot-imapd
|
||||||
dovecot-ldap dovecot-lmtpd dovecot-managesieved
|
dovecot-ldap dovecot-lmtpd dovecot-managesieved
|
||||||
dovecot-pop3d dovecot-sieve dovecot-solr
|
dovecot-pop3d dovecot-sieve
|
||||||
)
|
)
|
||||||
|
|
||||||
# Dovecot packages for community supported features.
|
# Dovecot packages for community supported features.
|
||||||
|
|
Loading…
Reference in New Issue