version: '3.6' networks: web: external: name: web default: driver: bridge ipam: driver: default config: - subnet: 172.22.0.0/16 services: front: image: mailu/nginx:$VERSION restart: always env_file: .env logging: driver: json-file ports: - "$BIND_ADDRESS4:110:110" - "$BIND_ADDRESS4:143:143" - "$BIND_ADDRESS4:993:993" - "$BIND_ADDRESS4:995:995" - "$BIND_ADDRESS4:25:25" - "$BIND_ADDRESS4:465:465" - "$BIND_ADDRESS4:587:587" labels: - "traefik.backend=webmail" - "traefik.docker.network=web" - "traefik.frontend.rule=Host:webmail.banditlair.com" - "traefik.enable=true" - "traefik.port=80" - "traefik.default.protocol=http" volumes: - "../traefik/certs/ssl/banditlair.com.crt:/certs/cert.pem" - "../traefik/certs/ssl/banditlair.com.key:/certs/key.pem" - "/var/lib/mailu/overrides/nginx:/overrides" networks: - web - default redis: image: redis:alpine restart: always volumes: - "/var/lib/mailu/redis:/data" resolver: image: mailu/unbound:$VERSION restart: always env_file: .env networks: default: ipv4_address: 172.22.255.254 admin: image: mailu/admin:$VERSION restart: always env_file: .env volumes: - "/var/lib/mailu/data:/data" - "/var/lib/mailu/dkim:/dkim" depends_on: - redis imap: image: mailu/dovecot:$VERSION restart: always env_file: .env volumes: - "/var/lib/mailu/data:/data" - "/var/lib/mailu/mail:/mail" - "./overrides:/overrides" depends_on: - front smtp: image: mailu/postfix:$VERSION restart: always env_file: .env volumes: - "/var/lib/mailu/data:/data" - "./overrides:/overrides" depends_on: - front - resolver dns: - 172.22.255.254 antispam: image: mailu/rspamd:$VERSION restart: always env_file: .env volumes: - "/var/lib/mailu/filter:/var/lib/rspamd" - "/var/lib/mailu/dkim:/dkim" - "./overrides/rspamd:/etc/rspamd/override.d" depends_on: - front - resolver dns: - 172.22.255.254 fetchmail: image: mailu/fetchmail:$VERSION restart: always env_file: .env depends_on: - resolver dns: - 172.22.255.254 webmail: image: mailu/rainloop restart: always env_file: .env volumes: - "/var/lib/mailu/webmail:/data" depends_on: - imap