diff options
Diffstat (limited to 'playbooks/roles/mail')
-rw-r--r-- | playbooks/roles/mail/tasks/main.yml | 48 | ||||
-rw-r--r-- | playbooks/roles/mail/templates/stacks/docker-compose.yml | 16 |
2 files changed, 14 insertions, 50 deletions
diff --git a/playbooks/roles/mail/tasks/main.yml b/playbooks/roles/mail/tasks/main.yml index 12b789d..4576500 100644 --- a/playbooks/roles/mail/tasks/main.yml +++ b/playbooks/roles/mail/tasks/main.yml @@ -4,9 +4,6 @@ ansible.builtin.file: state: directory dest: '{{ mail_base }}/{{ item.path }}' - owner: 1000 - group: 1000 - mode: 0755 with_filetree: '../templates' when: item.state == 'directory' @@ -14,54 +11,9 @@ ansible.builtin.template: src: '{{ item.src }}' dest: '{{ mail_base }}/{{ item.path }}' - owner: 1000 - group: 1000 - mode: 0755 with_filetree: '../templates' when: item.state == 'file' -# https://github.com/docker-mailserver/docker-mailserver/blob/23bb1c8e50dad1462c645b8a9cf50aeee8bc2625/Dockerfile#L149C19-L149C20 -- name: Build DMS compose dirs - ansible.builtin.file: - state: directory - dest: '{{ mail_base }}/volumes/data/dms/{{ item.path }}' - owner: 5000 - group: 5000 - mode: 0755 - with_filetree: '../templates/volumes/data/dms' - when: item.state == 'directory' - -- name: Build DMS template files with correct UID for docker mailserver - ansible.builtin.template: - src: '{{ item.src }}' - dest: '{{ mail_base }}/volumes/data/dms/{{ item.path }}' - owner: 5000 - group: 5000 - mode: 0755 - with_filetree: '../templates/volumes/data/dms' - when: item.state == 'file' - -- name: Build Roundcube compose dirs - ansible.builtin.file: - state: directory - dest: '{{ mail_base }}/volumes/data/roundcube/{{ item.path }}' - mode: 0755 - # https://github.com/roundcube/roundcubemail-docker/blob/ef4b8cc59eecbf0e25c66c7f3c464594cc310761/apache/Dockerfile#L145 - owner: 33 - group: 33 - with_filetree: '../templates/volumes/data/roundcube' - when: item.state == 'directory' - -- name: Build Roundcube template files - ansible.builtin.template: - src: '{{ item.src }}' - dest: '{{ mail_base }}/volumes/data/roundcube/{{ item.path }}' - owner: 33 - group: 33 - mode: 0755 - with_filetree: '../templates/volumes/data/roundcube' - when: item.state == 'file' - - name: Deploy mail stack ansible.builtin.command: cmd: 'docker stack deploy -c {{ mail_base }}/stacks/docker-compose.yml mail' diff --git a/playbooks/roles/mail/templates/stacks/docker-compose.yml b/playbooks/roles/mail/templates/stacks/docker-compose.yml index 654f264..bdba6ac 100644 --- a/playbooks/roles/mail/templates/stacks/docker-compose.yml +++ b/playbooks/roles/mail/templates/stacks/docker-compose.yml @@ -59,12 +59,24 @@ services: - traefik.tcp.routers.imap.entrypoints=imap - traefik.tcp.routers.imap.service=imap - traefik.tcp.services.imap.loadbalancer.server.port=993 - # SMTP + # SMTPS + - traefik.tcp.routers.smtps.tls.passthrough=true + - traefik.tcp.routers.smtps.rule=HostSNI(`*`) + - traefik.tcp.routers.smtps.entrypoints=smtp + - traefik.tcp.routers.smtps.service=smtp + - traefik.tcp.services.smtps.loadbalancer.server.port=465 + # SMTP (StartTLS) + - traefik.tcp.routers.smtptls.tls.passthrough=true + - traefik.tcp.routers.smtptls.rule=HostSNI(`*`) + - traefik.tcp.routers.smtptls.entrypoints=smtptls + - traefik.tcp.routers.smtptls.service=smtptls + - traefik.tcp.services.smtptls.loadbalancer.server.port=587 + # SMTP ("ye' old") - traefik.tcp.routers.smtp.tls.passthrough=true - traefik.tcp.routers.smtp.rule=HostSNI(`*`) - traefik.tcp.routers.smtp.entrypoints=smtp - traefik.tcp.routers.smtp.service=smtp - - traefik.tcp.services.smtp.loadbalancer.server.port=465 + - traefik.tcp.services.smtp.loadbalancer.server.port=25 volumes: - {{ mail_base }}/volumes/data/dms/vmail:/var/mail/ - {{ mail_base }}/volumes/data/dms/mail-state:/var/mail-state/ |