From ef66dd5d12c4f0efa2b2e345ffdce796e3a7df03 Mon Sep 17 00:00:00 2001 From: Georg Lauterbach <44545919+georglauterbach@users.noreply.github.com> Date: Sat, 1 Mar 2025 13:14:57 +0100 Subject: [PATCH] release: v15.0.0 (#4373) Signed-off-by: Georg Lauterbach <44545919+georglauterbach@users.noreply.github.com> Co-authored-by: Brennan Kinney <5098581+polarathene@users.noreply.github.com> --- CHANGELOG.md | 7 +++-- demo-setups/fetchmail-compose.yaml | 6 ++-- demo-setups/relay-compose.yaml | 8 +++--- .../advanced/mail-forwarding/relay-hosts.md | 2 +- docs/content/config/security/rspamd.md | 4 +-- .../examples/tutorials/dovecot-solr.md | 28 ++++++++++--------- target/scripts/helpers/rspamd.sh | 8 ------ 7 files changed, 30 insertions(+), 33 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 57adc33d..eae261ac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,10 +2,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [Unreleased](https://github.com/docker-mailserver/docker-mailserver/compare/v14.0.0...HEAD) +## [Unreleased](https://github.com/docker-mailserver/docker-mailserver/compare/v15.0.0...HEAD) > **Note**: Changes and additions listed here are contained in the `:edge` image tag. These changes may not be as stable as released changes. +## [v15.0.0](https://github.com/docker-mailserver/docker-mailserver/releases/tag/v15.0.0) + ### Breaking - **saslauthd** mechanism support via ENV `SASLAUTHD_MECHANISMS` with `pam`, `shadow`, `mysql` values has been removed. Only `ldap` and `rimap` remain supported ([#4259](https://github.com/docker-mailserver/docker-mailserver/pull/4259)) @@ -17,6 +19,7 @@ All notable changes to this project will be documented in this file. The format - This has been corrected to `/var/lib/getmail` (_if you have mounted a DMS State Volume to `/var/mail-state`, `/var/lib/getmail` will be symlinked to `/var/mail-state/lib-getmail`_). - To preserve this state when upgrading to DMS v15, **you must manually migrate `getmail/` from the _DMS Config Volume_ to `lib-getmail/` in the _DMS State Volume_.** - `setup email delete ` now requires explicit confirmation if the mailbox data should be deleted ([#4365](https://github.com/docker-mailserver/docker-mailserver/pull/4365)). +- **Rspamd:** Removed deprecated file path check (_DMS config volume: `./rspamd-modules.conf` => `./rspamd/custom-commands.conf`_) ([#4373](https://github.com/docker-mailserver/docker-mailserver/pull/4373)) ### Added @@ -26,7 +29,7 @@ All notable changes to this project will be documented in this file. The format ### Updates -**Internal:** +- **Internal:** - **Removed `VERSION` file** from the repo. Releases of DMS prior to v13 (Nov 2023) would check this to detect new releases ([#3677](https://github.com/docker-mailserver/docker-mailserver/issues/3677), [#4321](https://github.com/docker-mailserver/docker-mailserver/pull/4321)) - During image build, ensure a secure connection when downloading the `fail2ban` package ([#4080](https://github.com/docker-mailserver/docker-mailserver/pull/4080)) - **Documentation:** diff --git a/demo-setups/fetchmail-compose.yaml b/demo-setups/fetchmail-compose.yaml index d8632228..f6e1ddb9 100644 --- a/demo-setups/fetchmail-compose.yaml +++ b/demo-setups/fetchmail-compose.yaml @@ -1,10 +1,10 @@ -# Docs: https://docker-mailserver.github.io/docker-mailserver/v14.0/config/advanced/mail-fetchmail +# Docs: https://docker-mailserver.github.io/docker-mailserver/v15.0/config/advanced/mail-fetchmail # Additional context, with CLI commands for verification: # https://github.com/orgs/docker-mailserver/discussions/3994#discussioncomment-9290570 services: dms-fetch: - image: ghcr.io/docker-mailserver/docker-mailserver:latest # :14.0 + image: ghcr.io/docker-mailserver/docker-mailserver:latest # :15.0 hostname: mail.example.test environment: ENABLE_FETCHMAIL: 1 @@ -26,7 +26,7 @@ services: target: /tmp/docker-mailserver/fetchmail.cf dms-remote: - image: ghcr.io/docker-mailserver/docker-mailserver:latest # :14.0 + image: ghcr.io/docker-mailserver/docker-mailserver:latest # :15.0 hostname: mail.remote.test environment: # Allows for us send a test mail easily by trusting any mail client run within this container (`swaks`): diff --git a/demo-setups/relay-compose.yaml b/demo-setups/relay-compose.yaml index cb4f0846..7bbc9f21 100644 --- a/demo-setups/relay-compose.yaml +++ b/demo-setups/relay-compose.yaml @@ -1,11 +1,11 @@ -# Docs: https://docker-mailserver.github.io/docker-mailserver/v14.0/config/advanced/mail-forwarding/relay-hosts/ +# Docs: https://docker-mailserver.github.io/docker-mailserver/v15.0/config/advanced/mail-forwarding/relay-hosts/ # Additional context, with CLI commands for verification: # https://github.com/docker-mailserver/docker-mailserver/issues/4136#issuecomment-2253693490 services: # This would represent your actual DMS container: dms-sender: - image: mailserver/docker-mailserver:latest # :14.0 + image: mailserver/docker-mailserver:latest # :15.0 hostname: mail.example.test environment: # All outbound mail will be relayed through this host @@ -37,7 +37,7 @@ services: # Pretend this is your third-party relay service: dms-relay: - image: mailserver/docker-mailserver:latest # :14.0 + image: mailserver/docker-mailserver:latest # :15.0 hostname: smtp.relay-service.test environment: # WORKAROUND: Bypass security checks from the mail-client (dms-sender container) @@ -58,7 +58,7 @@ services: # Pretend this is another mail server that your target recipient belongs to (like Gmail): dms-destination: - image: mailserver/docker-mailserver:latest # :14.0 + image: mailserver/docker-mailserver:latest # :15.0 hostname: mail.destination.test # WORKAROUND: dms-relay must be able to resolve DNS for `@destination.test` to the IP of this container: # Normally a MX record would direct mail to the MTA (eg: `mail.destination.test`) diff --git a/docs/content/config/advanced/mail-forwarding/relay-hosts.md b/docs/content/config/advanced/mail-forwarding/relay-hosts.md index 7ef8238c..3d13e93b 100644 --- a/docs/content/config/advanced/mail-forwarding/relay-hosts.md +++ b/docs/content/config/advanced/mail-forwarding/relay-hosts.md @@ -151,6 +151,6 @@ We provide this support via two config files: [wikipedia::smarthost]: https://en.wikipedia.org/wiki/Smart_host [docs::env-relay]: ../../environment.md#relay-host -[dms-repo::helpers-relay]: https://github.com/docker-mailserver/docker-mailserver/blob/v14.0.0/target/scripts/helpers/relay.sh +[dms-repo::helpers-relay]: https://github.com/docker-mailserver/docker-mailserver/blob/v15.0.0/target/scripts/helpers/relay.sh [dms-gh::pr-3607]: https://github.com/docker-mailserver/docker-mailserver/issues/3607 [dms-gh::relay-example]: https://github.com/docker-mailserver/docker-mailserver/issues/3842#issuecomment-1913380639 diff --git a/docs/content/config/security/rspamd.md b/docs/content/config/security/rspamd.md index e4d419b0..7492e285 100644 --- a/docs/content/config/security/rspamd.md +++ b/docs/content/config/security/rspamd.md @@ -353,8 +353,8 @@ While _Abusix_ can be integrated into Postfix, Postscreen and a multitude of oth [abusix-docs::rspamd-integration]: https://abusix.com/docs/rspamd/ [spamhaus::faq::dnsbl-usage]: https://www.spamhaus.org/faq/section/DNSBL%20Usage#365 -[dms-repo::rspamd-actions-config]: https://github.com/docker-mailserver/docker-mailserver/tree/v14.0.0/target/rspamd/local.d/actions.conf -[dms-repo::default-rspamd-configuration]: https://github.com/docker-mailserver/docker-mailserver/tree/v14.0.0/target/rspamd +[dms-repo::rspamd-actions-config]: https://github.com/docker-mailserver/docker-mailserver/tree/v15.0.0/target/rspamd/local.d/actions.conf +[dms-repo::default-rspamd-configuration]: https://github.com/docker-mailserver/docker-mailserver/tree/v15.0.0/target/rspamd [gh-dms::guide::valkey]: https://github.com/docker-mailserver/docker-mailserver/issues/4001#issuecomment-2652596692 [gh-dms::guide::rspamd-web]: https://github.com/orgs/docker-mailserver/discussions/4269#discussioncomment-11329588 diff --git a/docs/content/examples/tutorials/dovecot-solr.md b/docs/content/examples/tutorials/dovecot-solr.md index be4c91f6..13a9f0e7 100644 --- a/docs/content/examples/tutorials/dovecot-solr.md +++ b/docs/content/examples/tutorials/dovecot-solr.md @@ -24,39 +24,41 @@ As the official DMS image does not provide `dovecot-solr`, you'll need to includ !!! quote "" === "`user-patches.sh`" - + If you'd prefer to avoid a custom image build. This approach is simpler but with the caveat that any time the container is restarted, you'll have a delay as the package is installed each time. - + ```bash #!/bin/bash - + apt-get update && apt-get install dovecot-solr ``` - + === "`compose.yaml`" - + A custom DMS image does not add much friction. You do not need a separate `Dockerfile` as Docker Compose supports building from an inline `Dockerfile` in your `compose.yaml`. - + The `image` key of the service is swapped for the `build` key instead, as shown below: - + ```yaml services: mailserver: hostname: mail.example.com # The `image` setting now represents the tag for the local build configured below: - image: local/dms:14.0 + image: local/dms:${DMS_TAG?Must set DMS image tag} # Local build (no need to try pull `image` remotely): pull_policy: build # Add this `build` section to your real `compose.yaml` for your DMS service: build: dockerfile_inline: | - FROM docker.io/mailserver/docker-mailserver:14.0 + FROM docker.io/mailserver/docker-mailserver:${DMS_TAG?Must set DMS image tag} RUN apt-get update && apt-get install dovecot-solr ``` - - - Just run `docker compose up` and it will pull DMS and build your custom image to run a container. - - Updating to a new DMS release is straight-forward, just adjust the version tag as you normally would. If you make future changes that don't apply, you may need to force a rebuild. - - This approach only needs to install the package once with the image build itself. This minimizes delay of container startup. + + This approach only needs to install the package once with the image build itself which minimizes the delay of container startup. + + - Just run `DMS_TAG='14.0' docker compose up` and it will pull the DMS image, then build your custom DMS image to run a new container instance. + - Updating to a new DMS release is straight-forward, just adjust the `DMS_TAG` ENV value or change the image tag directly in `compose.yaml` as you normally would to upgrade an image. + - If you make future changes to the `dockerfile_inline` that don't seem to be applied, you may need to force a rebuild with `DMS_TAG='14.0' docker compose up --build`. !!! note "Why doesn't DMS include `dovecot-solr`?" diff --git a/target/scripts/helpers/rspamd.sh b/target/scripts/helpers/rspamd.sh index 1d3e1417..1de0fb6a 100644 --- a/target/scripts/helpers/rspamd.sh +++ b/target/scripts/helpers/rspamd.sh @@ -111,14 +111,6 @@ function _rspamd_handle_user_modules_adjustments() { fi } - # We check for usage of the previous location of the commands file. - # TODO This can be removed after the release of v14.0.0. - local RSPAMD_DMS_CUSTOM_COMMANDS_F_OLD="${RSPAMD_DMS_D}-modules.conf" - readonly RSPAMD_DMS_CUSTOM_COMMANDS_F_OLD - if [[ -f ${RSPAMD_DMS_CUSTOM_COMMANDS_F_OLD} ]]; then - _dms_panic__general "Old custom command file location '${RSPAMD_DMS_CUSTOM_COMMANDS_F_OLD}' is deprecated (use '${RSPAMD_DMS_CUSTOM_COMMANDS_F}' now)" 'Rspamd setup' - fi - if [[ -f "${RSPAMD_DMS_CUSTOM_COMMANDS_F}" ]]; then __rspamd__log 'debug' "Found file '${RSPAMD_DMS_CUSTOM_COMMANDS_F}' - parsing and applying it"