A while ago, I set out to write a CardDAV server for Port87. CardDAV is based on WebDAV, so I had to write a WebDAV server first. That server is called Nephele, and it now supports instantly running a WebDAV server from a filesystem. I’m using it on my own home server to back up all my computers to and to replace my cloud hosting provider.
If you want to skip the explanation and get straight to using it, check out:
That package I just linked is the nephele-serve command. You can use it on your server to instantly set up a WebDAV file sharing server.
The great thing about WebDAV is that there is already a client built in to Windows, macOS, and Linux (both Gnome and KDE). There are free clients available for iOS and Android as well.
Nephele is built on Express, which is a rock solid HTTP framework that’s used in many large production services. Nephele is extensible as well. If you’re a developer, you can build on top of Nephele to store data in whatever storage system you need, like Amazon S3.
The great thing about a WebDAV server built on Node.js is that it’s available on every Linux and macOS system, and you can easily set up a worker process model with PM2.
Eventually, Nephele will support more extensions to the WebDAV protocol (including CardDAV). Right now, I’m reading through the WebDAV Access Control Protocol. I may even have some side projects under my sleeve that take advantage of how easy Nephele is to implement and how wide WebDAV support is. 😉
You can get started with Nephele by following the installation and usage instructions here: