π Iβve released the first stable version of my Laravel WebDAV server:
π https://github.com/N3XT0R/laravel-webdav-server/releases/tag/1.0.0
What is this?
A native WebDAV server integration for Laravel β built on top of SabreDAV and Flysystem.
It exposes your storage via:
/webdav/{space}/{path?}
Why?
Laravel has no native WebDAV server.
Most existing solutions are either:
- clients (not servers)
- or thin wrappers around SabreDAV
That usually means:
- hidden behavior
- hard-to-customize integrations
- difficult debugging (especially with Windows clients)
What makes this different?
- explicit request pipeline (no magic)
- clean separation of concerns
- Flysystem-based storage
- policy-based authorization
- structured extension points (no overrides needed)
New in 1.0.0
- stable public API
- event system for file + directory mutations
- path resolver + facade
- improved documentation (RTD)
Events (important)
The package now dispatches Laravel events for:
- file create / update / delete
- directory create / delete
This allows you to:
- log activity
- trigger background jobs
- sync data
π without touching the core
Docs
π https://laravel-webdav-server.readthedocs.io/en/latest/
Final note
This package doesnβt try to reinvent WebDAV.
It integrates WebDAV cleanly into a modern Laravel architecture.
Top comments (1)
Congratulations on v1.0.0! Native WebDAV in Laravel was a real gap β most projects ended up bolting on Sabre/DAV.
A few questions from someone building a Windows client against various WebDAV servers:
Does your server implement RFC 4918 LOCK / UNLOCK properly? Many clients (including ours) need this for Office file co-authoring.
PROPFIND with Depth: infinity β do you cap it for large folders? Windows clients often hang on deep PROPFIND responses without depth limits.
Custom properties / dead properties β does the server store them in your own DB schema, or push to a separate KV?
For anyone reading β I work on ScsDriver (a Windows WebDAV/NAS client, dev.to/scsoi). For a Laravel app that exposes a WebDAV endpoint, a Windows user can mount it as a regular drive letter via tools like RaiDrive or ScsDriver and any desktop app (Office, Photoshop, video editors) just works against the Laravel-stored files. No sync client, no special UI.
The Laravel + WebDAV + Windows mount stack is a clean way to build "Dropbox for your SaaS" without writing a custom sync engine.