I started, what turns out to be, a long running journey to migrate away from Google. Part of that journey is my personal email address, calendar and address book.
After a lengthy back and forth and changing the provider multiple times, I finally (hopefully?!) settled with Migadu.com. I will probably write another post about why Migadu and how to actually go about such a migration but this one is just about how to properly setup auto-discovery for their calendar and address book offerings.
Migadu doesn't really advertise that they even support calendar and contacts. The only thing you'll find on their website is this:
We make the basic CalDAV and CarDAV services available, but they are not our focus. We continue developing them but please do not expect we will ever compete with dedicated calendar services.
They are using
sabre/dav
and make it available at cdav.migadu.com.
Since for Migadu you always have to bring your own domain,
you can configure two SRV entries in your DNS settings
for your domain.
This will allow calendar and address book tooling to auto-discover
your CalDav and CardDav settings given your email address.
RFC6765
defines how to do that. There are two ways: a /.well-known
location and the aforementioned SRV entry.
You already have to configure your DNS for the email services anyways,
so lets use that.
The following two SRV entries are required:
_caldavs._tcp.example.com. 3000 IN TXT "path=/calendars"
_carddavs._tcp.example.com. 3000 IN TXT "path=/calendars"
_caldavs._tcp.example.com. 3000 IN SRV 0 1 443 cdav.migadu.com
_carddavs._tcp.example.com. 3000 IN SRV 0 1 443 cdav.migadu.com
Replace the example.com domain with your own domain.
The two additional TXT entries are required, because
the CalDav / CardDav server is hosted at the
/calendars path.