version: "3.8" secrets: SMTP_PASSWORD: file: ../secrets/mail/SMTP_PASSWORD services: generate-secrets: volumes: - ../secrets/mail/maddy/SMTP_PASSWORD:/secrets/mail/maddy/SMTP_PASSWORD backup: volumes: - ../data/mail:/mnt/backup/src/mail:ro caddy: volumes: - ./mail/Proxyfile:/etc/caddy.d/mail:ro maddy: image: foxcpp/maddy:latest secrets: [SMTP_PASSWORD] restart: unless-stopped depends_on: generate-secrets: condition: 'service_completed_successfully' environment: - MADDY_HOSTNAME=mx.mail.${DOMAIN} - MADDY_DOMAIN=mail.${DOMAIN} volumes: - ../data/mail/maddy:/data # TODO: get from caddy? #- ../secrets/tls/fullchain.pem:/data/tls/fullchain.pem:ro #- ../secrets/tls/privkey.pem:/data/tls/privkey.pem:ro ports: - 25:25 - 143:143 - 587:587 - 993:993 roundcube: image: roundcube/roundcubemail:1.6.x-apache environment: ROUNDCUBEMAIL_DEFAULT_HOST: ssl://mx.mail.${DOMAIN} ROUNDCUBEMAIL_DEFAULT_PORT: 993 ROUNDCUBEMAIL_SMTP_SERVER: tls://mx.mail.${DOMAIN} ROUNDCUBEMAIL_SMTP_PORT: 587 ROUNDCUBEMAIL_DB_TYPE: sqlite volumes: - ../data/mail/roundcube/db:/var/roundcube/db ports: - 9002:80 check-secrets: secrets: - SMTP_PASSWORD