- Change default relay port from 587 to 2525 (Postmark) - Add Docker provider environment variables for API version compatibility - Configure for Postmark server token authentication
54 lines
2.3 KiB
YAML
54 lines
2.3 KiB
YAML
---
|
|
|
|
- name: Configure Postfix (send-only)
|
|
block:
|
|
- name: Read Postfix relay host
|
|
set_fact:
|
|
postfix_relayhost: "{{ POSTFIX_RELAYHOST | default(lookup('env', 'POSTFIX_RELAYHOST') | default('smtp.postmarkapp.com', true), true) }}"
|
|
postfix_relayhost_port: "{{ POSTFIX_RELAYHOST_PORT | default(lookup('env', 'POSTFIX_RELAYHOST_PORT') | default('2525', true), true) }}"
|
|
no_log: true
|
|
|
|
- name: Read Postfix relay host username
|
|
set_fact:
|
|
postfix_relayhost_username: "{{ POSTFIX_RELAYHOST_USERNAME | default(lookup('env', 'POSTFIX_RELAYHOST_USERNAME') | default('', true), true) }}"
|
|
no_log: true
|
|
|
|
- name: Read Postfix relay host password
|
|
set_fact:
|
|
postfix_relayhost_password: "{{ POSTFIX_RELAYHOST_PASSWORD | default(lookup('env', 'POSTFIX_RELAYHOST_PASSWORD') | default('', true), true) }}"
|
|
no_log: true
|
|
|
|
- name: Fail if Postfix relay host username/password pairing is invalid
|
|
fail:
|
|
msg: "POSTFIX_RELAYHOST_USERNAME and POSTFIX_RELAYHOST_PASSWORD must both be set, or both be empty"
|
|
when: (postfix_relayhost_username | length == 0) != (postfix_relayhost_password | length == 0)
|
|
|
|
- name: Read Postfix allowed sender domains
|
|
set_fact:
|
|
postfix_allowed_sender_domains: "{{ POSTFIX_ALLOWED_SENDER_DOMAINS | default(lookup('env', 'POSTFIX_ALLOWED_SENDER_DOMAINS') | default('', true), true) }}"
|
|
no_log: true
|
|
|
|
- name: Read Postfix allow empty sender domains
|
|
set_fact:
|
|
postfix_allow_empty_sender_domains: "{{ (POSTFIX_ALLOW_EMPTY_SENDER_DOMAINS | default(lookup('env', 'POSTFIX_ALLOW_EMPTY_SENDER_DOMAINS') | default('true', true), true)) | bool }}"
|
|
no_log: true
|
|
|
|
- name: Read Postfix SMTP TLS security level
|
|
set_fact:
|
|
postfix_smtp_tls_security_level: "{{ POSTFIX_SMTP_TLS_SECURITY_LEVEL | default(lookup('env', 'POSTFIX_SMTP_TLS_SECURITY_LEVEL') | default('may', true), true) }}"
|
|
no_log: true
|
|
|
|
- name: Create Postfix directory
|
|
file:
|
|
path: /opt/postfix
|
|
state: directory
|
|
|
|
- name: Copy Docker Compose file for Postfix
|
|
template:
|
|
src: docker-compose.yml.j2
|
|
dest: /opt/postfix/docker-compose.yml
|
|
|
|
- name: Deploy Postfix
|
|
command: docker compose up -d
|
|
args:
|
|
chdir: /opt/postfix
|