On Fri, Apr 10, 2026 at 6:04 PM Prasanth Nair <prasanth.nair@linaro.org> wrote:
Hi all,
I am currently running a Mailman 3 setup on a standalone server and planning to migrate it to a Docker-based deployment using the official Docker Mailman images. I would appreciate your guidance on the recommended approach for this migration.
*Current (existing) setup:*
- Mailman Core: 3.3.5
- Postorius: 1.3.6
- HyperKitty: 1.3.5
- PostgreSQL: 12.22 (Ubuntu)
- Host-based installation (non-Docker)
- Postfix used as the MTA
- Active mailing lists with members and archives
- Apache reverse proxy in front
*Target (new) setup:*
- Docker-based Mailman 3 (mailman-core, mailman-web, PostgreSQL containers)
- Based on the official Docker Mailman repository
- Postfix as the MTA
- Apache reverse proxy in front
I would like to migrate the following components safely:
- Mailing lists and their configurations
- Subscribers and roles
- HyperKitty archives
- Postorius/web data (users, preferences, etc.)
I have a few specific questions:
- What is the recommended migration approach from a host-based Mailman 3 installation to the Docker-based setup?
- Is it safe to directly restore the PostgreSQL databases into the Docker environment, or is there a preferred migration method?
- Are there any version compatibility considerations when migrating from Mailman Core 3.3.5 / Postorius 1.3.6 / HyperKitty 1.3.5 to the versions used in the current Docker images?
- How to migrate archives?
- The official Docker Compose file references
postgres:12-alpine. Is it recommended to stay on PostgreSQL 12 for compatibility, or is it supported to use a newer PostgreSQL version (for example, PostgreSQL 18) with the Docker Mailman setup?- Are there any common pitfalls or best practices you would recommend for ensuring a smooth migration?
Any guidance or documentation you can provide would be greatly appreciated.
Thank you for your time and support.
Hello Prasanth,
How about you just test the installation on Docker and migration and see the results. You could even use a higher version of postgres in your container since MM3 supports it. My test machine has PostgreSQL 17 and MM3 running. Since the test migration is non-destructive, you could do it, fail, drop the volumes, do it again until you have it working. And you take notes in the process. I asked Uncle Google for "migrate mailman3 from bare metal to docker" and the AI response at the top seemed quite close to what it should be. Scare the fear away and just do the testing on some VM.
-- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 In an Internet failure case, the #1 suspect is a constant: DNS. "Oh, the cruft.", egrep -v '^$|^.*#' ¯\_(ツ)_/¯ :-) [How to ask smart questions: http://www.catb.org/~esr/faqs/smart-questions.html]