So after a lot of experimentation, I'm quite close and wanted to share how to get a DigitalOcean Debian 10 instance (2 GB minimum) to an almost functional mailman3/postfix/postgres node.
Details of Ansible work at: https://galaxy.ansible.com/ucr/mailman3 Credit goes to: Job Céspedes Ortiz: jobcespedes@gmail.com
Outstanding issues [any corrections appreciated]:
- certbot fails for me, so I set "false" in the playbook and install certbot afterwards, which works fine
- Getting "An error occurred while processing your request." at authentication. Will try to debug this later
- I really don't understand the subtlety of when you install with root and when with the mailman user, so all of this was done with root
After creation of 2GB DigitalOcean Debian 10 instance:
apt update apt -y upgrade dpkg-reconfigure tzdata apt -y install git apt -y install curl apt -y install python3-pip python3 --version [3.7.3] curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py sudo python3 get-pip.py --user export PATH="/root/.local/bin:$PATH" pip install ansible --user ansible ansible --version [2.10.4] python3 -m pip install argcomplete sudo activate-global-python-argcomplete ansible-galaxy install ucr.mailman3 cd /home sudo nano playbook.yaml
- hosts: localhost vars: mailman3_domain: yourdomain.com # It will install and create a certificate using certbot, its nignx plugin and http validation mailman3_install_certbot: false # install and create certificate # secrets, please change them mailman3_secret_key: "change_secretkey" mailman3_rest_api_pass: "change_api_pass" mailman3_archiver_key: "change_archiver_key" mailman3_db_pass: "change_db_pass" mailman3_web_db_pass: "change_web_db_pass" mailman3_web_admin_pass: "change_web_admin_pass" roles: - ucr.mailman3
ansible-playbook -c local -i localhost, playbook.yaml