Today, I spent some time setting up a new self-hosted calendar instance for myself. It’s been a growing goal of mine to start self hosting more of my online services, and fortunately calendar and todo is well-supported by the common CalDAV protocol.

Server

I decided to use Radicale, a lightweight DAV server implementation written in Python 3. It was easy to download from the stable OpenBSD package repo and install. Configuring took slightly longer, as the docs for Radicale were, although complete, a bit disorganized. After some fiddling, I successfully set up an authenticated instance secured by TLS, and we were in business.

Mobile Client

On mobile, I used the highly-rated DAVx5 app, which takes CalDAV credentials and exposes them to Android natively as a calendar account. As an added plus, it was free and open source. This allowed me to use the stock Samsung calendar app to view and edit my events.

For tasks, the OpenTasks app, also free and open source, integrates with DAVx5 to show tasks queued on the CalDAV server.

Overall, the mobile experience is definitely no worse than my previous experience using the Outlook for Android app and Microsoft To-Do.

Desktop Client

The desktop situation is a bit more troublesome. There are few CalDAV clients of satisfiable quality available for Windows, and even fewer are open source. For now, I’ve settled on Thunderbird with the Lightning addon. It works, but you can tell that Thunderbird is struggling to stay maintained since it got kicked out (not really) from Mozilla. Even switching between the calendar and task views incurs a noticeable delay accompanied with a spike in CPU usage.

I haven’t set things up on my Linux laptop yet, but there’s no shortage of FOSS clients there, at least. I’ll probably use the programs packaged with the KDE desktop environment, as that’s my DE of choice when not using i3.

Future Steps

In the future, I might look into alternatives for Windows such as the CalDAV plugin for Microsoft Outlook, which is open source (although the base program isn’t and would require me to have an Office license), or the eM Client, which is proprietary with a limited free version. (The real alternative would be to get rid of Windows on my desktop, but I’m still a ways off from that :P)

Additionally, CalDAV has a sister protocol called CardDAV that’s in charge of syncing contacts to a server. I didn’t migrate my contacts yet, which are still stored on my Microsoft account, but it should be relatively straightforward, if slightly tedious, to move them all over.

See you in the next one!