[Cialug] Hosting Mailman
Ron
ron at bclug.ca
Wed Oct 22 19:59:14 UTC 2025
Jordan Cook wrote on 2025-10-22 11:14:
> I didn't realize it was that resource-hungry. Sounds like that
> likely rules out the cheapest 1GB VPS options, then.
It may be possible, but a tight squeeze.
Things like the full-text indexing would likely fall over. And that
full-text search is a really nice feature - no more having to use
$search_engine to try to locate $keyword on $list's archives.
This may depend on whether using Haystack or Gunicorn¹.
>> These exclude the PostgreSQL and Apache/NGINX services also
>> required.
>
> Nginx usually has a pretty tiny footprint, and I do have an
> existing Postgres db I could use. Or I might be able to get by with
> the SQLite backend?
Probably, depending on one's skill / pain tolerance.
I tried to re-use an existing MySQL and it was a lot harder than I
anticipated. The venv documentation solely uses PostgreSQL and trying
to figure out the Python module & connection string was tricky.
Perhaps if that were the only issue to overcome it wouldn't have felt so
daunting. Or, more familiarity with Python would've helped.
Also, venv documentation only has vhost info for Apache, so translating
that to nginx is an exercise left to the sysadmin.
>> Start with a domain, Postfix, (& Dovecot, why not?)
>
> I wasn't familiar with Dovecot (or, honestly, most email infra
> until starting down this rabbit hole a month ago!), but checked it
> out and added it to my list of things to try out.
Postfix uses Dovecot for SASL authentication, so even without mailboxes,
Dovecot has its benefits.
> I don't need real mailboxes yet, but it would be cool to try fully
> (or mostly) self- hosted email.
It's liberating to have it all self-hosted.
I was resistant to it because of the warnings one sees about it being "a
job", but once set up, a great sense of accomplishment is achieved.
However, there are a *lot* of moving parts.
Postfix has 1053 configuration options:
# postconf | wc -l
1053
and Dovecot has more:
# doveconf | wc -l
1446
Excluding the DNS entries, DKIM, greylisting, anti-spam,...
> It also occurred to me that another option might be hosting Mailman
> on my home server but using an SMTP relay (like MXroute or SES) to
> do the actual sending. Would that be a terrible idea, or a
> reasonable way to reduce hosting costs while avoiding IP reputation
> issues?
Should work, at the expense of added complexity.
In main.cf, this would need to be set on the MM3 side:
relayhost = your.external.mailserver
And that external server would need...
* SPF for your domain pointing to it
* probably the ability to sign DKIM for the list (unsure: signing
locally and including headers would probably break if passed through
external server which adds more headers) - if so, this requires full
root access
* and other things I haven't thought of.
Another thought occurred just now: set up the mailing list on a 3rd
level domain, i.e. lists.your.domain.
Then the domain's website can be separate from the mailing list archives.
We were bitten by that during migration at GTALUG and we had to add an
entry to our /etc/hosts file to be able to access the MM2 web interface
for moderation duties since gtalug.org got pointed away to a new host.
Now we're on lists.gtalug.org and have aliases for talk at gtalug.org to
talk at lists.gtalug.org to catch email, and the front page is separate
from the list archives.
¹ Haystack, Gunicorn, Postorius, Hyperkitty, uwsgi, ad nauseam - all
these weird words can be overwhelming.
I figured by my second or third attempt, it'd be easier to install. Yet
my notes reveal an obvious decent into madness with copious use of
cursing as one reads further in the notes I took.
More information about the Cialug
mailing list