diff options
author | Lars Wirzenius <liw@liw.fi> | 2017-03-11 17:08:06 +0200 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2017-03-11 17:08:06 +0200 |
commit | 330fe319340ae9513b61a9999a0b212482ff1777 (patch) | |
tree | 7bfac3c077153afeacf4d762ccfb5b464cae0c69 /ansible/roles/mail-server | |
parent | a7ffb02a83b6c4873e24b751bdf5d52ea9af3a31 (diff) | |
download | ansibleness-330fe319340ae9513b61a9999a0b212482ff1777.tar.gz |
Start pieni.net mail server
Diffstat (limited to 'ansible/roles/mail-server')
-rw-r--r-- | ansible/roles/mail-server/files/aliases | 3 | ||||
-rw-r--r-- | ansible/roles/mail-server/files/virtual | 2 | ||||
-rw-r--r-- | ansible/roles/mail-server/handlers/main.yml | 6 | ||||
-rw-r--r-- | ansible/roles/mail-server/tasks/main.yml | 29 | ||||
-rw-r--r-- | ansible/roles/mail-server/templates/postfix.main.cf.j2 | 24 |
5 files changed, 64 insertions, 0 deletions
diff --git a/ansible/roles/mail-server/files/aliases b/ansible/roles/mail-server/files/aliases new file mode 100644 index 0000000..645701f --- /dev/null +++ b/ansible/roles/mail-server/files/aliases @@ -0,0 +1,3 @@ +postmaster: root +abuse: root +root: liw diff --git a/ansible/roles/mail-server/files/virtual b/ansible/roles/mail-server/files/virtual new file mode 100644 index 0000000..839118b --- /dev/null +++ b/ansible/roles/mail-server/files/virtual @@ -0,0 +1,2 @@ +liw.fi - +postmaster@liw.fi liw diff --git a/ansible/roles/mail-server/handlers/main.yml b/ansible/roles/mail-server/handlers/main.yml new file mode 100644 index 0000000..73935ab --- /dev/null +++ b/ansible/roles/mail-server/handlers/main.yml @@ -0,0 +1,6 @@ +- name: restart postfix + systemd: + name: postfix + state: restarted + +
\ No newline at end of file diff --git a/ansible/roles/mail-server/tasks/main.yml b/ansible/roles/mail-server/tasks/main.yml new file mode 100644 index 0000000..dad2245 --- /dev/null +++ b/ansible/roles/mail-server/tasks/main.yml @@ -0,0 +1,29 @@ +- name: install postfix + apt: + name: postfix + +- name: set /etc/mailname + shell: | + echo "{{ mail_hostname }}" > /etc/mailname + +- name: install aliases map + copy: + src: aliases + dest: /etc/aliases + +- name: compile aliases map + shell: newaliases + +- name: install virtual map + copy: + src: virtual + dest: /etc/postfix/virtual + +- name: compile virtual map + shell: postmap /etc/postfix/virtual + +- name: configure postfix main.cf + template: + src: postfix.main.cf.j2 + dest: /etc/postfix/main.cf + notify: restart postfix diff --git a/ansible/roles/mail-server/templates/postfix.main.cf.j2 b/ansible/roles/mail-server/templates/postfix.main.cf.j2 new file mode 100644 index 0000000..ba5c09f --- /dev/null +++ b/ansible/roles/mail-server/templates/postfix.main.cf.j2 @@ -0,0 +1,24 @@ +# Who are we? This varies depending on host. +myhostname = {{ mail_hostname }} +mydestination = {{ mail_hostname }}, localhost.localdomain, localhost + + +# Configure various things. These should be the same everywhere. +mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 +inet_interfaces = all +myorigin = /etc/mailname +relayhost = +alias_maps = hash:/etc/aliases +alias_database = hash:/etc/aliases +virtual_alias_maps = hash:/etc/postfix/virtual +mailbox_size_limit = 0 +home_mailbox = Maildir/ + +# Configure TLS. We use the snakeoild self-signed certificate Debian +# creates automatically. MTAs don't generally care, this is just for +# opportunistic crypto use, but we don't rely on it. +smtpd_use_tls = yes +smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem +smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key +smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache +smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache |