version: '3.2' services: front: image: mailu/nginx:1.5 env_file: .env ports: - target: 80 published: 80 mode: host - target: 443 published: 443 mode: host - target: 110 published: 110 mode: host - target: 143 published: 143 mode: host - target: 993 published: 993 mode: host - target: 995 published: 995 mode: host - target: 25 published: 25 mode: host - target: 465 published: 465 mode: host - target: 587 published: 587 mode: host volumes: # - "/mailu/certs:/certs" - type: volume source: mailu_certs target: /certs deploy: endpoint_mode: dnsrr replicas: 1 placement: constraints: [node.role == manager] redis: image: redis:alpine restart: always volumes: # - "/mailu/redis:/data" - type: volume source: mailu_redis target: /data deploy: endpoint_mode: dnsrr replicas: 1 placement: constraints: [node.role == manager] imap: # image: mailu/dovecot:$VERSION image: ofthesun9/dovecot:1.5 restart: always env_file: .env volumes: # - "$ROOT/data:/data" - type: volume source: mailu_data target: /data # - "$ROOT/mail:/mail" - type: volume source: mailu_mail target: /mail # - "$ROOT/overrides:/overrides" - type: volume source: mailu_overrides target: /overrides depends_on: - front deploy: endpoint_mode: dnsrr replicas: 1 placement: constraints: [node.role == manager] smtp: image: ofthesun9/postfix:1.5 restart: always env_file: .env volumes: # - "$ROOT/data:/data" - type: volume source: mailu_data target: /data # - "$ROOT/overrides:/overrides" - type: volume source: mailu_overrides target: /overrides depends_on: - front deploy: endpoint_mode: dnsrr replicas: 1 placement: constraints: [node.role == manager] antispam: # image: mailu/rspamd:$VERSION image: ofthesun9/rspamd:fuzzydev restart: always env_file: .env depends_on: - front volumes: # - "$ROOT/filter:/var/lib/rspamd" - type: volume source: mailu_filter target: /var/lib/rspamd # - "$ROOT/dkim:/dkim" - type: volume source: mailu_dkim target: /dkim # - "$ROOT/overrides/rspamd:/etc/rspamd/override.d" - type: volume source: mailu_overrides_rspamd target: /etc/rspamd/override.d deploy: endpoint_mode: dnsrr replicas: 1 placement: constraints: [node.role == manager] antivirus: image: mailu/none:1.5 restart: always env_file: .env volumes: # - "/mailu/filter:/data" - type: volume source: mailu_filter target: /data deploy: endpoint_mode: dnsrr replicas: 1 placement: constraints: [node.role == manager] webdav: image: mailu/none:1.5 restart: always env_file: .env volumes: # - /mailu/dav:/data" - type: volume source: mailu_dav target: /data deploy: endpoint_mode: dnsrr replicas: 1 placement: constraints: [node.role == manager] admin: image: ofthesun9/admin:1.5-backports restart: always env_file: .env volumes: # - "/mailu/data:/data" - type: volume source: mailu_data target: /data # - "/mailu/dkim:/dkim" - type: volume source: mailu_dkim target: /dkim - /var/run/docker.sock:/var/run/docker.sock:ro depends_on: - redis deploy: endpoint_mode: dnsrr replicas: 1 placement: constraints: [node.role == manager] webmail: image: "mailu/roundcube:1.5" restart: always env_file: .env volumes: # - "/mailu/webmail:/data" - type: volume source: mailu_data target: /data depends_on: - imap deploy: endpoint_mode: dnsrr replicas: 1 placement: constraints: [node.role == manager] fetchmail: image: mailu/fetchmail:1.5 restart: always env_file: .env volumes: # - "/mailu/data:/data" - type: volume source: mailu_data target: /data logging: driver: none deploy: endpoint_mode: dnsrr replicas: 1 placement: constraints: [node.role == manager] volumes: mailu_filter: driver_opts: type: "nfs" o: "addr=192.168.0.30,nolock,soft,rw" device: ":/mnt/Pool1/pv/mailu/filter" mailu_dkim: driver_opts: type: "nfs" o: "addr=192.168.0.30,nolock,soft,rw" device: ":/mnt/Pool1/pv/mailu/dkim" mailu_overrides_rspamd: driver_opts: type: "nfs" o: "addr=192.168.0.30,nolock,soft,rw" device: ":/mnt/Pool1/pv/mailu/overrides/rspamd" mailu_data: driver_opts: type: "nfs" o: "addr=192.168.0.30,nolock,soft,rw" device: ":/mnt/Pool1/pv/mailu/data" mailu_mail: driver_opts: type: "nfs" o: "addr=192.168.0.30,nolock,soft,rw" device: ":/mnt/Pool1/pv/mailu/mail" mailu_overrides: driver_opts: type: "nfs" o: "addr=192.168.0.30,nolock,soft,rw" device: ":/mnt/Pool1/pv/mailu/overrides" mailu_dav: driver_opts: type: "nfs" o: "addr=192.168.0.30,nolock,soft,rw" device: ":/mnt/Pool1/pv/mailu/dav" mailu_certs: driver_opts: type: "nfs" o: "addr=192.168.0.30,nolock,soft,rw" device: ":/mnt/Pool1/pv/mailu/certs" mailu_nginx.conf: driver_opts: type: "nfs" o: "addr=192.168.0.30,nolock,soft,rw" device: ":/mnt/Pool1/pv/mailu/1.5/nginx.conf.wp" mailu_tls.conf: driver_opts: type: "nfs" o: "addr=192.168.0.30,nolock,soft,rw" device: ":/mnt/Pool1/pv/mailu/1.5/tls.conf" mailu_redis: driver_opts: type: "nfs" o: "addr=192.168.0.30,nolock,soft,rw" device: ":/mnt/Pool1/pv/mailu/redis"