I’ll be honest, I had heard of DAV, but I wasn’t convinced it would work, and definitely not this easily. I had just accepted that the email overlords controlled the email, calendar, contacts, appointments, tasks, etc etc, all in their own database, and they were inseparable. To me it was a matter of choosing a lesser evil, and I’d rather just not bother getting all my contacts set up in one place when there’s no guarantee if I would have access to it elsewhere, or with a particular app, or what have you.
What I didn’t realize at first is that all of this can be decoupled. My first inkling of this was when I installed Thunderbird as an email client. Of course, I can connect into my IMAP/SMTP server and just fetch emails. But I can also connect into a CalDAV server for calendar events and tasks, and a CarDAV server for contacts. Most email services just bundle all that junk together.
My email doesn’t have to store my contacts. I can have my own address book and as long as I have an email client that can 1) connect into my email service and 2) connect separately into my address book, I’m golden. This really shouldn’t be as mind-blowing as it is to me.
My next thought was that I would need to install Nextcloud to manage all this junk for me, but that simply isn’t true. Nextcloud could certainly fill the role, but I wasn’t keen on it after my last escapade where I wasted the better part of a Saturday trying to get it running. It’s also a monolith and I don’t need all of it - I have separate clients for separate things. I like certain apps better, and I prefer not to put all my eggs in one basket in that sense.
And honestly - after a bit of struggle with a couple clients (Radicale and Davis), I settled on one that has got to be one of the easiest things to self-host yet. That may be bias due to the fact that I can spin up a new Docker service with an Nginx reverse proxy in my sleep at this point (just because I’ve done it so many times now), but it was still remarkably easy. The compose file is like 15 lines long.
My setup now looks like this:
- Baikal running on my home server, accessible to devices connected via my Tailnet.
- Betterbird running on my PC (basically just a DAV client in addition to being an email client)
- DAVx5 running on my phone (as the app that syncs to the DAV server)
- GrapheneOS contacts, FossifyOrg Calendar, and Tasks.org / jtxBoard running as CalDAV/CarDAV (and in the case of jtxBoard, vCalendar) clients connected to DAVx5.
Other apps - like my email client, Signal, messaging, phone - still have access to my contacts, per usual, but now the contacts aren’t siloed to my phone - any change I make in one spot gets synced to the server and to the other devices. But they’re also all stored locally, in the event that my home network ever goes offline.
For me this flings the door wide open in terms of 1) organization of my personal life, 2) owning my data, and 3) finally maybe getting around to replacing what Todoist does for my productivity with something I manage.
jtxBoard is really cool, too! I have to do some more digging, but at first inspection it’s what I want - daily notes along with rich tasks. I need to figure out if there is an acceptable desktop client that does something approaching what it does - in terms of daily notes and linking together tasks/notes/journals - but it’s on my list.
And this isn’t even getting into WebDAV for files!
EOF