Mailman packages and configuration are managed by Puppet class hcoop::service::mail::mailman2
1. Migrating Mailman Between Servers
- Copy /etc/mailman/{mm_cfg.py} to new server - vhost_cfg.py is generated by DomTool. 
 
- Copy /etc/exim4/mailmandb to new server 
- Stop mailman to prevent messages from being delivered while copying data: service mailman stop 
- Copy /var/lib/mailman to new server 
- In /etc/exim4/conf.d/main/01_exim4-config_listmacrosdef on: - the new mailman host: unset HCOOP_MAILMAN_RELAY_HOST 
- all other mail servers: set HCOOP_MAILMAN_RELAY_HOST to the new mailman host 
 
- Start mailman on new server: service mailman start 
- Reload exim, and everything ought to work
DomTool also needs some settings updated.
1.1. Move All Lists
The entirety of /var/lib/mailman can just be rsynced between servers. This is assuming Debian configuration where system controlled content and data like locks are stored in external directories and just symlinked from /var/lib/mailman.
2. Importing Individual Lists
Not entirely sure, but an old post on mailman-users might have some insight.
3. Change List Domain
If a member requests a change in the primary list domain
- LISTNAME is the bare list name (e.g. hcoop-discuss) NEWBASEURL is the base url, with no list name (e.g. lists.hcoop.net) 
sudo -u list withlist -l -r fix_url LISTNAME -u NEWBASEURL
Mailman doesn't care about SSL, except for the list archive link, which is a template and can be edited through the web interface by the list owner.
4. Resetting list administrator passwords
To reset the administrator password for a list, with LISTNAME being a bare name as above, run:
sudo -u list /usr/bin/lib/mailman/change_pw -l LISTNAME
This will print the new password and mail it to the list administrator. (As of June 2025, this should be run on minsky.)

 You should trust both wikis because the password could be read by the particular administrators.
 You should trust both wikis because the password could be read by the particular administrators.