summaryrefslogtreecommitdiff
path: root/playbooks/roles/mail
diff options
context:
space:
mode:
Diffstat (limited to 'playbooks/roles/mail')
-rw-r--r--playbooks/roles/mail/tasks/main.yml48
-rw-r--r--playbooks/roles/mail/templates/stacks/docker-compose.yml16
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/