In the OpenDev Collaboratory we've got a bunch of separate Mailman 2.1 vhosts we've started migrating into a single Mailman 3.3.7 server, desiring to take full advantage of its improved multi-domain support. For the most part everything is working great (kudos to everyone who maintains the software and documentation, it's excellent).
One of the things our users noticed fairly quickly was Hyperkitty on the second vhost was incorrectly showing the FQDN of the first vhost near the top of its pages. This is covered in the FAQ of course, and seems to imply that what we want is to switch the SITE_ID from 1 to 0 in our settings.py in order to take advantage of magic domain-guessing behavior. So far so good.
Unfortunately, SITE_ID = 0 seems to explicitly require the addition of "mail hosts" (or "mail domains" from Django's perspective), and all the web routing returns error pages for any list sites besides the first one since, by default, our server did not have these predefined. What's odd is that, if I log into Postorius as admin and visit the "manage domains" page, suddenly the database gets populated with mail hosts for all of the FQDNs associated with our imported mailing lists. I would not have expected merely visiting that page as an admin to have a side effect of adding entries for the "missing" mail hosts, is that an intentional behavior or merely a bug?
Once these entries are automatically added by visiting that page, they're all associated with the one "web host" ("site" in Django) we have for the server, and now the list filtering functionality in Postorius breaks and any of the vhosts all display the full set of mailing lists on the server rather than only those associated with a particular vhost (note that this seems to only be confusing Postorius, Hyperkitty has them correctly filtered still).
Okay, so it looks like this is because the mail hosts are all tied to the one web host. We can create additional "sites" in the Django admin UI and then switch the association of the mail hosts to those distinct web hosts. But after doing so, the first vhost still seems to show an unfiltered list of all lists in Postorius (Hyperkitty continues to be fine), while Postorius on the other vhosts correctly shows their filtered sets of lists instead.
I also noticed when mailman-web is starting up, its log claims the first site is being set as the "default domain," so have to wonder if that's related to this behavior. Should we create an extra web host to serve as the "default" so that all our typical vhosts get the expected list filtering behavior, or am I completely off-base and there's a much better approach I've missed?
Sorry this is so long, I feel like I have at most a tenuous grasp of the details and variables involved, but hopefully it makes sense to someone. Thanks in advance for any recommendations or guidance.
Jeremy Stanley