version: '2' networks: proxy-tier: external: name: nginx-proxy services: front: image: mailu/nginx:$VERSION restart: always env_file: .env 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" volumes: - "../proxy/nginx/certs/${DOMAIN}.crt:/certs/cert.pem" - "../proxy/nginx/certs/${DOMAIN}.key:/certs/key.pem" redis: image: redis:alpine restart: always volumes: - "$ROOT/redis:/data" imap: image: mailu/dovecot:$VERSION restart: always env_file: .env volumes: - "$ROOT/data:/data" - "$ROOT/mail:/mail" - "$ROOT/overrides:/overrides" smtp: image: mailu/postfix:$VERSION restart: always env_file: .env volumes: - "$ROOT/data:/data" - "$ROOT/overrides:/overrides" antispam: image: mailu/rspamd:$VERSION restart: always env_file: .env volumes: - "$ROOT/filter:/var/lib/rspamd" - "$ROOT/dkim:/dkim" - "$ROOT/overrides/rspamd:/etc/rspamd/override.d" antivirus: image: mailu/$ANTIVIRUS:$VERSION restart: always env_file: .env volumes: - "$ROOT/filter:/data" webdav: image: mailu/$WEBDAV:$VERSION restart: always env_file: .env volumes: - "$ROOT/dav:/data" admin: image: mailu/admin:$VERSION restart: always env_file: .env expose: - 80 environment: - VIRTUAL_HOST=mailu.banditlair.com - VIRTUAL_NETWORK=nginx-proxy - VIRTUAL_PORT=80 volumes: - "$ROOT/data:/data" - "$ROOT/dkim:/dkim" - /var/run/docker.sock:/var/run/docker.sock:ro depends_on: - redis networks: - proxy-tier - default webmail: image: "mailu/$WEBMAIL:$VERSION" restart: always env_file: .env expose: - 80 environment: - VIRTUAL_HOST=webmail.banditlair.com - VIRTUAL_NETWORK=nginx-proxy - VIRTUAL_PORT=80 volumes: - "$ROOT/webmail:/data" networks: - proxy-tier - default fetchmail: image: mailu/fetchmail:$VERSION restart: always env_file: .env volumes: - "$ROOT/data:/data"