115 lines
3.0 KiB
YAML
115 lines
3.0 KiB
YAML
---
|
|
- name: Install mailman3
|
|
apt:
|
|
update_cache: true
|
|
name:
|
|
- mailman3-full
|
|
- python3-ipython # Prettier shell
|
|
- python3-pip # CAS
|
|
- python3-lxml # CAS
|
|
- sassc
|
|
install_recommends: false
|
|
register: apt_result
|
|
retries: 3
|
|
until: apt_result is succeeded
|
|
|
|
- name: Install Crans python modules
|
|
pip:
|
|
name: "{{ item }}"
|
|
loop:
|
|
- git+https://gitlab.crans.org/nounous/mailman-crans-theme.git
|
|
- git+https://gitlab.crans.org/nounous/allauth-cas-crans.git
|
|
|
|
# You will need to setup postgres
|
|
# sudo -u postgres createuser -P mailman3
|
|
# sudo -u postgres createdb -O mailman3 mailman3
|
|
- name: Configure mailman3
|
|
template:
|
|
src: "mailman3/{{ item }}.j2"
|
|
dest: "/etc/mailman3/{{ item }}"
|
|
mode: 0640
|
|
owner: root
|
|
group: list
|
|
loop:
|
|
- mailman.cfg
|
|
- mailman-hyperkitty.cfg
|
|
notify: Restart mailman3
|
|
|
|
- name: Apply permissions to the mailman directory
|
|
file:
|
|
path: /var/lib/mailman3
|
|
state: directory
|
|
owner: list
|
|
group: list
|
|
|
|
# You will need to setup postgres
|
|
# sudo -u postgres createuser -P mailman3web
|
|
# sudo -u postgres createdb -O mailman3web mailman3web
|
|
- name: Configure mailman3-web
|
|
template:
|
|
src: mailman3/mailman-web.py.j2
|
|
dest: /etc/mailman3/mailman-web.py
|
|
mode: 0640
|
|
owner: root
|
|
group: www-data
|
|
notify: Restart mailman3-web
|
|
|
|
- name: Migrate Django database
|
|
django_manage:
|
|
command: migrate
|
|
project_path: /usr/share/mailman3-web
|
|
become: true
|
|
become_user: www-data
|
|
notify: Restart mailman3-web
|
|
|
|
- name: Collect static files
|
|
django_manage:
|
|
command: collectstatic
|
|
project_path: /usr/share/mailman3-web
|
|
become: true
|
|
become_user: www-data
|
|
notify: Restart mailman3-web
|
|
|
|
- name: Compress static files
|
|
django_manage:
|
|
command: compress
|
|
project_path: /usr/share/mailman3-web
|
|
become: true
|
|
become_user: www-data
|
|
notify: Restart mailman3-web
|
|
|
|
# When notifying moderators daily, add link to moderation page
|
|
- blockinfile:
|
|
path: /usr/lib/python3/dist-packages/mailman/commands/cli_notify.py
|
|
marker: "{mark}"
|
|
marker_begin: '# XXX This should be a template.'
|
|
marker_end: 'msg = OwnerNotification(mlist, subject, text, mlist.administrators)'
|
|
block: |-
|
|
text = _("""La liste {} a {} requêtes de modération en attente.
|
|
|
|
{}
|
|
|
|
Vous pouvez gérer ces demandes via votre interface web :
|
|
https://{{ mailman3.web_domains[0] }}/postorius/lists/{}/held_messages
|
|
|
|
# Owner notifications are sent from listname-bounces@domain.
|
|
- lineinfile:
|
|
path: /usr/lib/python3/dist-packages/mailman/email/message.py
|
|
regexp: ' sender ='
|
|
line: ' sender = f"{mlist.list_name}-bounces@{mlist.domain.mail_host}"'
|
|
|
|
|
|
# When notifying moderators of a new incoming message, add link to moderation page
|
|
- template:
|
|
src: mailman/templates/fr/list:admin:action:post.txt.j2
|
|
dest: /usr/lib/python3/dist-packages/mailman/templates/fr/list:admin:action:post.txt
|
|
owner: root
|
|
group: root
|
|
mode: 0644
|
|
|
|
- name: Indicate role in motd
|
|
template:
|
|
src: update-motd.d/05-service.j2
|
|
dest: /etc/update-motd.d/05-mailman3
|
|
mode: 0755
|