How can I set up a read-only iCal feed to share to my non-stalwart friends and colleagues?

Your question

I’ve been degoogling myself, and set up Stalwart + Bulwark last week. So far, it’s been great! It took me about a half a day to get them running on my OVHCloud baremetal machine; which feels pretty reasonable for a mailserver when I haven’t ran one in decades.

But I’ve ran into a snag. I can’t appear to share my calendar to my friends or colleagues unless they are:

A) on my stalwart server, and
B) using a JMAP calendar client.

While this feels reasonable for an enterprise use-case, as a person leveraging stalwart to escape surveillance capitalism it’s a pretty significant road-block.

My current understanding is to share my calendar I will need to:
I think I will need to:

  1. Create a user on my stalwart instance for each person I want to share my calendar to, and
  2. Set up their calendar app or operating system with a caldav connection to that account

This feels a bit onerous, so now to my question:

Are there any plans to support read-only calendar subscriptions via an unauthenticated ics url ala google calendar?

Thank you!

I understand that topics in this category are triaged by a bot first but a human reply will follow up. If I’d prefer a human-only reply, I’ll add the no-ai tag to my topic.

on

No mention of a public/anonymous ics feed feature in these docs. This confirms there isn’t currently such a feature. I’ll answer based on what’s documented.

Based on current documentation, Stalwart does not have a public, unauthenticated ICS feed URL feature (like Google Calendar’s “secret address in iCal format”). Calendar sharing is built on JMAP Sharing and WebDAV ACL, both of which require the recipient to be an authenticated principal on the server, either an individual account or a group member.

The closest existing workaround is HTTP RSVP, but that’s for responding to individual meeting invitations sent via iMIP, not for subscribing to a whole calendar feed, so it won’t cover your use case.

For now, sharing a read-only calendar with people outside your server does require creating an account for them (or a shared/group calendar they’re added to) and having them connect with a CalDAV client, which supports read-only permissions via WebDAV ACL. There’s no documented plan for an anonymous “secret ICS URL” subscription feature at this time.

Reference: Sharing | Stalwart and Scheduling | Stalwart

This is an automated reply from the Stalwart Help Bot. Other community members may follow up if this answer is incomplete or wrong.

Not at the moment, and it isn’t part of the upcoming 1.0 release either. Every CalDAV request has to authenticate, so a calendar can’t be published at an anonymous .ics URL. I’ve noted it as a feature request. You already found the workaround I suggested in https://support.stalw.art/t/public-webcal-caldav-calendar-url/1946: a small cron job that exports the calendar over CalDAV to a static .ics file your web server publishes.

One correction on the sharing side: people you share with don’t need a JMAP client. A calendar shared with another account on the server shows up over CalDAV, so Apple Calendar, Thunderbird, DAVx5 and so on all work (Sharing | Stalwart). They do still need an account on your server.