I’d like to create public event calendars for anonymous user access to read, view and subscribe to.
Don’t see a simple anonymous method or URL creation.
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.
Stalwart’s calendar sharing is account-based, not anonymous. Calendars are shared via WebDAV ACL (or JMAP Sharing) to specific accounts or groups that exist on the server; there is no built-in mechanism to publish a calendar at a public webcal:// URL for unauthenticated/anonymous subscribers. Access to /dav/cal/<account> always requires authentication.
If you need outside parties to view a calendar without an account, the closest built-in option is the iMIP/RSVP HTTP link sent with individual invitations, which lets external recipients respond to a specific event via a web link without a CalDAV client, but that’s per-invitation, not a full published calendar feed.
Stalwart can’t publish a calendar anonymously. Every CalDAV request has to authenticate, sharing works between accounts on the server (sharing), and a GET on a calendar collection doesn’t return the whole calendar as one .ics file, so a webcal subscription has nothing to point at.
For a public feed today I’d run a small job that pulls the events over CalDAV with a dedicated account and writes a static .ics file somewhere your web server serves it; subscribers then use that URL. If the audience is a known group with accounts on your server, sharing the calendar with them read-only is simpler. I’ve noted public calendars as a feature request.