It’s not really a full fledged web app, but I launched a WebDAV server this year:
https://hub.docker.com/r/sciactive/nephele
I use it for all sorts of things. It’s got some great features that other WebDAV servers are lacking:
- S3 support, so you can use a cloud service as the backend.
- Encryption at rest, so you can keep your data private, even when it’s stored on S3.
- File deduplication, so you can throw the same files in over and over and not use up more disk space.
- PAM authentication, so you can let system users manage their own files.
- .htpasswd authentication, so it works with other web servers.
- A simple web interface, so you can manage files in your browser (and it should work on all browsers, even absolutely ancient ones).
It’s incredibly fast compared to most other WebDAV servers, too.
I use it to manage my Jellyfin libraries, as a personal cloud storage, and as a deduplicating backup server. It works well through a reverse proxy too, so I have multiple instances running on my server with different configs.
There’s also a desktop app that uses the same server under the hood to let you transfer and manage files across your network:
Nice, I’ll be following closely!
How do you support deduping if encryption at rest is enabled?
What’s the roadmap look like for v1.0.0 release?
Edit: Looks like roadmap is laid out in the github https://github.com/sciactive/nephele
Oh, I didn’t answer your encryption question. It doesn’t support both deduplication and encryption at the same time. You can enable them both, but it won’t deduplicate.
I’m going to add support for CardDAV, that way you can use it to sync your contacts. I’m currently working on the Access Control Protocol extension to WebDAV, which is required for CardDAV.
I’d like to eventually support CalDAV too, but that’s harder than CardDAV.
I’d like to also create another web interface with a more modern feature set for use in newer browsers, and even have file share links.
An idea I’ve been floating is creating a way to use .md files and .html templates to create a sort of blog, website, or notebook. Something that would be really easy to manage. Basically throw it up on a server, put some .md files in, and you’ve got a basic website. I’d like to use it to take notes, since editing markdown on a WebDAV share is super simple, and having searchable notes from that would mean I could drop Google Keep.
Nice! I’ve been needing a good CardDAV option. Would you consider supporting Backblaze B2? It’s generally around 4x more cost-effective than Amazon S3, depending on usage patterns.
Regarding markdown to HTML conversion, you might want to check out Jekyll’s templating system. Combined with an Obsidian WebDAV plugin, you’d have an excellent workflow!
It should support B2, since B2 uses the same protocol. If you run into any issues, feel free to file a bug report.
Thanks, I’ll check out Jekyll. If I can use the same templating, that would be great.
I’ve heard Obsidian is really good, but I’ve never used it. I’ll give it a try. :)
Thanks for sharing! ByteStash and Bezel look like interesting projects, I’ll have to check them out at some point.
Working on my better Hoarder alternative. Goal: maybe 2025.
Best of luck. What do you find lacking so far?
- There is no obvious way to install Hoarder on an unsupported platform. My servers run OpenBSD and OmniOS. Both of them don’t even have any Docker support. (Which is not something I’d absolutely need, to be honest.)
- Hoarder runs on Node.js. I will use Lisp. Node.js is a dependency hell.
- Hoarder does not really encourage manual and/or regex-based tagging, it strongly suggests relying on “artificial intelligence”. As I am rather disappointed by what “artificial intelligence” is currently able to do, I’d prefer to default to the old approach.
Of course, all of this is just a personal preference.
Thank you for the amazing post, many of these are useful and you described them well. Lovely blog!
Have you looked at sandstorm? Or used it?
It’s one of my favorite stacks, and I’m curious to hear your thoughts.
It’s more or less abandoned, isn’t it? Or has the community support picked up? The team left the company for cloudflare years ago and I would dare to say the tech stack itself is deprecated once docker became so widespread.
Never heard of go-proxy, seems like it will fit my needs well as I only use Caddy for rev-proxying.
Thanks for the awesome blog!