diff --git a/roles/mailman3/tasks/main.yml b/roles/mailman3/tasks/main.yml index 3c2ade00..912cfa14 100644 --- a/roles/mailman3/tasks/main.yml +++ b/roles/mailman3/tasks/main.yml @@ -22,11 +22,14 @@ # Test with: psql -U mailman3 -W -d mailman3 -h localhost - name: Configure mailman3 template: - src: mailman3/mailman.cfg.j2 - dest: /etc/mailman3/mailman.cfg + src: "mailman3/{{ item }}.j2" + dest: "/etc/mailman3/{{ item }}" mode: 0640 owner: root group: list + loop: + - mailman.cfg + - mailman-hyperkitty.cfg notify: Restart mailman3 # You will need to setup postgres diff --git a/roles/mailman3/templates/mailman3/mailman-hyperkitty.cfg.j2 b/roles/mailman3/templates/mailman3/mailman-hyperkitty.cfg.j2 new file mode 100644 index 00000000..d965b7e5 --- /dev/null +++ b/roles/mailman3/templates/mailman3/mailman-hyperkitty.cfg.j2 @@ -0,0 +1,22 @@ +{{ ansible_header | comment }} + +# This is the mailman extension configuration file to enable HyperKitty as an +# archiver. Remember to add the following lines in the mailman.cfg file: +# +# [archiver.hyperkitty] +# class: mailman_hyperkitty.Archiver +# enable: yes +# configuration: /etc/mailman3/mailman-hyperkitty.cfg +# + +[general] + +# This is your HyperKitty installation, preferably on the localhost. This +# address will be used by Mailman to forward incoming emails to HyperKitty +# for archiving. It does not need to be publicly available, in fact it's +# better if it is not. +base_url: http://localhost/hyperkitty/ + +# Shared API key, must be the identical to the value in HyperKitty's +# settings. +api_key: {{ mailman3.archiver_key }} diff --git a/roles/mailman3/templates/mailman3/mailman-web.py.j2 b/roles/mailman3/templates/mailman3/mailman-web.py.j2 index 0152d385..f98e104e 100644 --- a/roles/mailman3/templates/mailman3/mailman-web.py.j2 +++ b/roles/mailman3/templates/mailman3/mailman-web.py.j2 @@ -198,6 +198,3 @@ SOCIALACCOUNT_PROVIDERS = { COMPRESS_OFFLINE = True POSTORIUS_TEMPLATE_BASE_URL = 'http://localhost/mailman3/' - -# Use Crans SMTP for Django mails -EMAIL_HOST = 'smtp.crans.org' diff --git a/roles/mailman3/templates/mailman3/mailman.cfg.j2 b/roles/mailman3/templates/mailman3/mailman.cfg.j2 index 5b9a5d9f..4dbccacc 100644 --- a/roles/mailman3/templates/mailman3/mailman.cfg.j2 +++ b/roles/mailman3/templates/mailman3/mailman.cfg.j2 @@ -271,3 +271,8 @@ lmtp_port: 8024 # .cfg, which the file must end with. #configuration: python:mailman.config.exim4 configuration: python:mailman.config.postfix + +[archiver.hyperkitty] +class: mailman_hyperkitty.Archiver +enable: yes +configuration: /etc/mailman3/mailman-hyperkitty.cfg diff --git a/roles/mailman3/templates/nginx/sites-available/mailman3.j2 b/roles/mailman3/templates/nginx/sites-available/mailman3.j2 index c243b591..2141d4da 100644 --- a/roles/mailman3/templates/nginx/sites-available/mailman3.j2 +++ b/roles/mailman3/templates/nginx/sites-available/mailman3.j2 @@ -7,7 +7,7 @@ upstream mailman3 { server { listen 80; listen [::]:80; - server_name mailman.crans.org mailman.adm.crans.org; + server_name mailman.crans.org mailman.adm.crans.org localhost; server_tokens off; location / {