--- - hosts: mail vars: apt: packages: - { package: "postfix", state: present } - { package: "postfix-pcre", state: present } - { package: "dovecot-core", state: present } - { package: "dovecot-lmtpd", state: present } - { package: "dovecot-imapd", state: present } - { package: "dovecot-sieve", state: present } - { package: "opendkim", state: present } - { package: "opendkim-tools", state: present } - { package: "rspamd", state: present } firewall: - { port: 25, ipv: "v4", proto: "tcp" } - { port: 25, ipv: "v6", proto: "tcp" } - { port: 143, ipv: "v4", proto: "tcp" } - { port: 143, ipv: "v6", proto: "tcp" } - { port: 465, ipv: "v4", proto: "tcp" } - { port: 465, ipv: "v6", proto: "tcp" } - { port: 587, ipv: "v4", proto: "tcp" } - { port: 587, ipv: "v6", proto: "tcp" } - { port: 993, ipv: "v4", proto: "tcp" } - { port: 993, ipv: "v6", proto: "tcp" } systemd: services: - { name: "dovecot", enabled: true, action: reloaded } - { name: "postfix", enabled: true, action: reloaded } - { name: "opendkim", enabled: true, action: reloaded } - { name: "rspamd", enabled: true, action: reloaded } file: - { path: "/etc/opendkim-data", owner: "opendkim", group: "opendkim", mode: "700", state: directory } - { path: "/var/spool/postfix/opendkim", owner: "postfix", group: "opendkim", mode: "650", state: directory } - { path: "/var/lib/dovecot/sieve/", owner: "vmail", group: "vmail", mode: "655", state: directory } - { path: "/etc/ssl/private", owner: "root", group: "root", mode: "655", state: directory } - { path: "/etc/ssl/private/mail", owner: "root", group: "root", mode: "655", state: directory } users: - { name: "vmail", shell: "/sbin/nologin", lock: true } roles: - users - file - firewall - apt - postfix - dovecot - opendkim - rspamd - systemd