# vim: ft=yaml.ansible
---
- name: Set up network for postfix
  docker_network:
    name: postfix
    ipam_config:
      - subnet: '172.16.0.0/16'
        gateway: 172.16.0.1

- name: Create volume folders for Postfix
  file:
    name: "{{ services.postfix.volume_folder }}/dkim"
    state: directory

- name: Set up Postfix Docker container for outgoing mail from services
  docker_container:
    name: postfix
    image: boky/postfix:{{ services.postfix.version }}
    restart_policy: always
    networks:
      - name: postfix
    volumes:
      - "{{ services.postfix.volume_folder }}/dkim:/etc/opendkim/keys"
    env:
      # Get all services which have allowed_sender_domain defined
      ALLOWED_SENDER_DOMAINS: "{{ services | dict2items | selectattr('value.allowed_sender_domain', 'true') | map(attribute='value.domain') | join(' ') }}"
      HOSTNAME: "{{ services.postfix.domain }}" # the name the smtp server will identify itself as
      DKIM_AUTOGENERATE: "true"