Flysystem is able to interact with WebDAV servers. To configure this bundle for such usage, you can rely on adapters in the same way you would for other storages.
composer require league/flysystem-webdav
# config/packages/flysystem.yaml
services:
webdav_client:
class: Sabre\DAV\Client
arguments:
- { baseUri: 'https://webdav.example.com/', userName: 'your_user', password: 'superSecret1234' }
flysystem:
storages:
webdav.storage:
webdav:
client: 'webdav_client'
prefix: 'optional/path/prefix'
# 'throw' (default) or 'ignore'; equivalent to the adapter's
# ON_VISIBILITY_THROW_ERROR / ON_VISIBILITY_IGNORE constants
visibility_handling: throw
manual_copy: false
manual_move: false