Johannes Rohr writes:
Overall, the docker method looks easier.
Not sure what you mean by that. If you mean using Mailman-provided Docker images, yeah, it's almost turnkey -- until you need support. Which seems to happen frequently enough on install (network issues, mostly, non-trivial because the three apps are configured as separate containers, and communication among Mailman apps, MTAs, webservers, and WSGI providers takes place over TCP connections). :-/
If you mean that you'll configure your own Docker image and you know how to plumb through the various TCP/IP connections to communicate among the various applications and services, and get to and from your users (presumably by the public Internet), definitely, go ahead with Docker rather than venv.
But basically Docker and venv are equivalent in the sense that they are ways to isolate your Mailman installation from the system Python to a great extent. Creating a venv is a one-off, you can put bin/activate in the 'mailman' user's .profile, and after that you don't touch the venv itself until you need to upgrade Python 6 or 7 years later. It's definitely fewer commands to patch your venv in-place and hit "/etc/init.d/$APP restart", than to patch sources and rebuild and reload a docker image.
Is docker the default method by now?
Definitely not. While I would say mostly people still install via distro packages, our recommendation for people want good control over their sites and support from us is definitely venv. Abhilash maintains our Docker images on a "best effort" basis, we don't promise support (although they're always more up-to-date than LTS packages for any distro). I don't think Mark has any Docker-specific expertise, and I have no experience yet. venv currently provides the best environment for people who are new to maintaining software (specifically Mailman) beyond what apt or yum will do for you.