diff --git a/roles/mailman3/tasks/main.yml b/roles/mailman3/tasks/main.yml index 3ad09f04a5..da2645694c 100644 --- a/roles/mailman3/tasks/main.yml +++ b/roles/mailman3/tasks/main.yml @@ -147,8 +147,11 @@ - name: Install the hyperkitty/postorius settings file ansible.builtin.template: - src: settings.py.j2 - dest: "{{ mailman_webui_confdir }}/settings.py" + src: "{{ item }}.j2" + dest: "{{ mailman_webui_confdir }}/{{ item }}" + with_items: + - settings.py + - settings_admin.py tags: - config - mailman @@ -334,6 +337,8 @@ chdir: /etc/mailman3 become_user: mailman become: true + environment: + DJANGO_SETTINGS_MODULE = "{{ mailman_webui_confdir }}/settings_admin.py" tags: - mailman - db diff --git a/roles/mailman3/templates/settings_admin.py.j2 b/roles/mailman3/templates/settings_admin.py.j2 new file mode 100644 index 0000000000..41f256743e --- /dev/null +++ b/roles/mailman3/templates/settings_admin.py.j2 @@ -0,0 +1,23 @@ +#-*- coding: utf-8 -*- + +""" +Copy of the Django settings file, but with database admin credentials (for +schema modifications) +""" + +from settings import * +try: + from settings_local import * +except ImportError: + pass + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.postgresql_psycopg2', + 'NAME': 'hyperkitty', + 'USER': 'hyperkittyadmin', + 'PASSWORD': '{{ mailman_hyperkitty_admin_db_pass }}', + 'HOST': '{{ mailman_db_server }}', + 'PORT': '', + } +}