--- - 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: Add symlink for mailman3-web file: src: /usr/share/mailman3-web/manage.py dest: /usr/local/bin/mailman-web state: link - 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 - name: Indicate role in motd template: src: update-motd.d/05-service.j2 dest: /etc/update-motd.d/05-mailman3 mode: 0755