Browse Source

mount /var/spool/postfix to preserve mail queue

Fabian Peter Hammerle 4 years ago
parent
commit
233c1e4dac
3 changed files with 13 additions and 3 deletions
  1. 2 1
      Dockerfile
  2. 6 2
      ansible-playbooks/null-client.yml
  3. 5 0
      docker-compose.yml

+ 2 - 1
Dockerfile

@@ -7,7 +7,8 @@ RUN postconf -F | grep -E '^postlog/unix-dgram/service = postlog$' \
     && postconf -evv maillog_file=/dev/stdout \
     && postfix check
 
-# VOLUME /var/spool/postfix ?
+# http://www.postfix.org/postconf.5.html#queue_directory
+VOLUME /var/spool/postfix
 
 EXPOSE 25/tcp
 COPY postfix.sh /

+ 6 - 2
ansible-playbooks/null-client.yml

@@ -6,6 +6,9 @@
   - docker_volume:
       volume_name: postfix_config
     register: config_volume
+  - docker_volume:
+      volume_name: postfix_queue
+    register: queue_volume
   - name: copy trusted CA certs
     copy:
       src: ../smtp-tls-trusted-ca.pem
@@ -46,12 +49,13 @@
     register: config
   - docker_container:
       name: postfix
-      # 1.0.0-postfix3.4.5r0-amd64
-      image: fphammerle/postfix@sha256:33c2dfc8d292b8399f7c61b206922b81c870ce5ae2c7e233fd1a38d420417154
+      # 1.0.1-postfix3.4.5r0-amd64
+      image: fphammerle/postfix@sha256:b2d214d66f1760bdcbfa3156efa7cb08cef5d80e5f6607e181f79fdde409b82d
       hostname: postfix-test
       volumes:
       - '{{ config_volume.ansible_facts.docker_volume.Mountpoint }}/main.cf:/etc/postfix/main.cf:ro'
       - '{{ config_volume.ansible_facts.docker_volume.Mountpoint }}/smtp-tls-trusted-ca.pem:/etc/postfix/smtp-tls-trusted-ca.pem:ro'
+      - '{{ queue_volume.ansible_facts.docker_volume.Mountpoint }}:/var/spool/postfix:rw'
       networks: [name: mail]
       purge_networks: yes
       published_ports: ['localhost:25:25']

+ 5 - 0
docker-compose.yml

@@ -1,10 +1,15 @@
 version: '2'
 
+volumes:
+  queue:
+
 services:
   postfix:
     build: .
     image: fphammerle/postfix
     ports: ['127.0.0.1:25:25']
+    volumes:
+    - queue:/var/spool/postfix:rw
     environment:
       POSTMAP_PATHS: |
         /etc/postfix/edit-docker-compose.yml