After my previous server got hacked (presumably), I am now looking for new solutions to my needs. CalDAV/CardDAV is a big one.
So far I switched from a content management system (PHP) to a static site generator for my blog, and I’m not looking back.
I wonder if it makes sense to also step away from PHP wrt CalDAV/CardDAV.
As ever so often, this list has some nice info.
I’d like to keep dependencies low. Python would be a good choice because it’s already installed on my Debian Stable system. But would it be safer?
Back when I started this compatibility with clients was an issue; but I don’t use Android anymore. In any case, is this still an issue?
edit: no, I don’t use a web based app; and I’d prefer the server doesn’t require admin via web UI either.
Thanks for all your replies! I chose Radicale, already set it up. Only what is needed, simple config files. Very nice. It runs under an nginx reverse proxy and they communicate encrypted (and of course the outside is also encrypted and password-protected). And the web UI can be disabled.
The documentation is very tutorial-like and security conscious.
I think Radicale, Baikal, SabreDAV or NextCloud are the most common choices. I read those names a lot.
But I believe only one of those isn’t written in PHP.I’d really recommend digging into the “hacking” though. Unless you learn from your specific mistakes and avoid that in the future, you might run in to the exact same issue again. And I mean it could be a security flaw in the program code of the WebDAV server. But it could as well be a few dozen other reasons why your server wasn’t secure… (Missing updates, insecure passwords, missing fail2ban, a webserver or reverse proxy, unrelated other software… There are a lot of moving gears in a webserver and lots of things to consider.)
I’ve never had any issues with Radicale, which is dead simple and lightweight. If you end up with Android again, DAVx5 has also never given me any trouble, and it also allows calendars to be cached offline. I’m not sure how you’re having compatibility issues as I would think CalDAV is a standard protocol?
If you’re concerned about dependencies and security, why not use Docker or Podman? It makes most of self-hosting in general much simpler, and it’s much easier to secure since it’s containerized. With containers, even if a hacker somehow hacks your CalDAV server, they can only access the minimal resources that you’ve given the container. I use this repo for Radicale on Docker.
I’m not sure how you’re having compatibility issues as I would think CalDAV is a standard protocol?
There used to be a mismatch between the spec and Google’s implementation of it.


