From 17eebf1abfbdff783bc975dc7569a60ef2513b3c Mon Sep 17 00:00:00 2001 From: Tunui Franken Date: Tue, 9 Jan 2024 14:49:25 +0100 Subject: [PATCH] Add dovecot-sql config --- roles/mailserver_dovecot/tasks/main.yml | 9 +++++++++ .../templates/dovecot-sql.conf.ext.j2 | 19 +++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 roles/mailserver_dovecot/templates/dovecot-sql.conf.ext.j2 diff --git a/roles/mailserver_dovecot/tasks/main.yml b/roles/mailserver_dovecot/tasks/main.yml index b74055f..514f20c 100644 --- a/roles/mailserver_dovecot/tasks/main.yml +++ b/roles/mailserver_dovecot/tasks/main.yml @@ -93,3 +93,12 @@ regexp: "{{ item.regexp }}" line: "{{ item.line }}" notify: Reload dovecot service + +- name: Copy dovecot-sql.conf.ext + become: true + ansible.builtin.template: + src: dovecot-sql.conf.ext.j2 + dest: /etc/dovecot/dovecot-sql.conf.ext + owner: root + group: root + mode: "640" diff --git a/roles/mailserver_dovecot/templates/dovecot-sql.conf.ext.j2 b/roles/mailserver_dovecot/templates/dovecot-sql.conf.ext.j2 new file mode 100644 index 0000000..571b11b --- /dev/null +++ b/roles/mailserver_dovecot/templates/dovecot-sql.conf.ext.j2 @@ -0,0 +1,19 @@ +# {{ ansible_managed }} + +driver = pgsql + +connect = \ + host=127.0.0.1 \ + dbname={{ mailserver_database_db }} \ + user={{ mailserver_database_ro_user.name }} \ + password={{ mailserver_database_ro_user.pwd }} + +user_query = SELECT email as user, \ + concat('*:bytes=', quota) AS quota_rule, \ + '/var/vmail/%d/%n' AS home \ + 5000 AS uid, 5000 AS gid \ + FROM virtual_users WHERE email='%u' + +password_query = SELECT password FROM virtual_users WHERE email='%u' + +iterate_query = SELECT email AS user FROM virtual_users