Upgrading dockerized Mailman3 from 0.4 to 0.5.1
I am a happy user running Mailman 3, dockerized, in combination with Mailcow. After a few initial problems, everything is running smoothly. Now I'm considering upgrading from 0.4 to 0.5.1, but I'm not sure about the right procedure. Is it something like this?
- Stop Containers: # docker compose down
- Change the two occurrences of "0.4" to "0.5.1" in my docker-compose.yaml file
- Pull New Images: # docker compose pull
- Restart: # docker compose up -d
Will there be any need for database migrations?
Thanks for all the work many of you has put into this.
On 2025-12-25 19:37:25 -0000 (-0000), jesper.holck--- via Mailman-users wrote:
I am a happy user running Mailman 3, dockerized, in combination with Mailcow. After a few initial problems, everything is running smoothly. Now I'm considering upgrading from 0.4 to 0.5.1, but I'm not sure about the right procedure. Is it something like this?
- Stop Containers: # docker compose down
- Change the two occurrences of "0.4" to "0.5.1" in my docker-compose.yaml file
- Pull New Images: # docker compose pull
- Restart: # docker compose up -d
Will there be any need for database migrations? [...]
Assuming you're using https://github.com/maxking/docker-mailman that's the upgrade process I follow, and the container start incorporates the recommended upgrade steps in the entrypoint scripts already (which are, thankfully, idempotent so doesn't matter that they get rerun at every start). This way, DB migrations should be handled automatically if there are any required.
Note that I'm not using Mailcow though and have no familiarity with it, so no idea whether the container(s) for that follow a similar pattern.
-- Jeremy Stanley
jesper.holck--- via Mailman-users writes:
I am a happy user running Mailman 3, dockerized, in combination with Mailcow. After a few initial problems, everything is running smoothly. Now I'm considering upgrading from 0.4 to 0.5.1, but I'm not sure about the right procedure. Is it something like this?
Evidently "0.4" and "0.5.1" refer to Mailcow, not Mailman. As usual, your first line of support for a third party integration should be the packager. We don't know what they're distributing. They have never consulted or informed us (which is perfectly reasonable for various reasons, but it does mean we can't be much help without a lot of work on our part which they have already done). Most issues in Mailman upgrades are in fact integration issues (eg, a dependency makes a change to its API and the first we know about it is when somebody tries to use the new release of the dependency in a Mailman install, or a stale patch by the integrator).
Assuming that they are distributing vanilla (straight from PyPI or git) versions of the Mailman suite and its dependencies (seems very likely), then I would guess your procedure should work. The database schema migrations should be automated in the docker compose phase. Issues are rare in Mailman suite upgrades, so unless you have space mission levels of need for uptime and reliability, I would just do it and deal with the fallout in the rare case.
If you are using the containerized Mailman provided by Abhilash, I don't know anything about it, and I'm not sure Mark knows much. So for issues with that particular product, you should probably CC him as he hasn't been active on the lists for months.
Steve
-- GNU Mailman consultant (installation, migration, customization) Sirius Open Source https://www.siriusopensource.com/ Software systems consulting in Europe, North America, and Japan
@Jeremy, thanks a lot, I followed the procedure, and everything went smoothly. No need for any changes to Mailcow.
@Stephen, thanks for your reply. The version numbers "0.4" and "0.5.1" do refer to dockerized versions of mailman as described here: https://github.com/maxking/docker-mailman
jesper.holck--- via Mailman-users writes:
@Stephen, thanks for your reply. The version numbers "0.4" and "0.5.1" do refer to dockerized versions of mailman as described here: https://github.com/maxking/docker-mailman
OK, so when you wrote "combination with Mailcow", you mean that you installed docker-mailman and Mailcow separately, and they are not integrated (except via SMTP/LMTP)? I ask because Mailcow gets mentioned occasionally, and I was under the impression that this was a single install of Mailcow including Mailman (perhaps with Mailman as an optional component).
Again, for docker-mailman questions I suggest that you write the list (both for quicker response, eg, Jeremy, and as a service to other users who may have related questions) and CC Abhilash. As far as I know he's active in development and willing to answer questions. He has stepped back from activity on the list, however.
-- GNU Mailman consultant (installation, migration, customization) Sirius Open Source https://www.siriusopensource.com/ Software systems consulting in Europe, North America, and Japan
participants (3)
-
Jeremy Stanley -
jesper.holck@ibsgaarden.dk -
Stephen J. Turnbull