boostorg / website-v2

New Boost website
https://boost.io
Boost Software License 1.0
9 stars 10 forks source link

Mailman3 Integration V2 #894

Open sdarwin opened 7 months ago

sdarwin commented 7 months ago

We've come up with a new plan for integrating mailman3, which is to standup mailman3 on a server of it's own.

New mailman test servers: lists.preview.boost.org lists.stage.boost.cppalliance.org

@williln @gregnewman I have added you as a list owners and superusers. If you DM me a SSH public key I can also give you root SSH access on the machines.

There is an open question about how customizations will be implemented. Mailman provides templates to customize emails, and those are maintained in the web UI. Mailman installation was done with https://github.com/cppalliance/ansible-mailman3 which installs nginx, elasticsearch, mailman-core, mailman-web, postfix. If we are going to modify Django, it should be version controlled. Ansible is already writing a django settings.py file, so django config settings (and other files) could be stored in that repository in a boost branch. Yet another idea is to keep a mailman/ subdirectory in https://github.com/cppalliance/temp-site, as a central location, and those files will be remotely deployed/copied to the mailman3 servers.

What customization should be done -

sdarwin commented 7 months ago

Custom django files for mailman could be stored in https://github.com/cppalliance/boost-mailman

sdarwin commented 5 months ago

Question: Where are messages stored?

Answer: On the database servers db1 and staging-db1, there are nightly postgres backups, both in sql format and dump format.
A "web" database (hyperkitty) and a "core" database (mailman-core).

Email messages are stored in the hyperkitty_email table of the "web" database.

More details:

I just unarchived the most recent backups, and searched them for the content of a test message yesterday, like "test20". The message was found in the hyperkitty_email table. It was not found anywhere in the core database.

The web database backup file is 500MB in size uncompressed. The core database backup file is 66KB in size. Based on that info it's also an indication about where messages are.

In terms of communication pathways though, there is almost a full mesh between all the components. core is connecting to the database and to the web. postorius is connecting the database and core. etc.