Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Another CalDav server I can recommend is Radicale. It's written in python and designed in a pretty modular way, enabling authentication and authorization (and more) plugins.

Data is saved in plain text files and I track/backup it using git.

Over the time I've accumulated some interesting modifications:

- Authentication runs with pam on the host system.

- To enable sharing of calendars I run a periodic script symlinking the calendars to all authorized users. Unfortunately this suffers from combinatiorial explosion.

- Using a rights plugin with custom CalDav Attributes and a modified web plugin I added support for access Control Lists.

- To enable public calendars you give read permissions to the `public` user using ACL. Then a nginx hack gives blanket acces for read operations:

  location /public {
      proxy_pass http://127.0.0.1:{%RADICALE_PORT%};
      include proxy_params;
      proxy_set_header Authorization "Basic {%RADICALE_PUBLIC_AUTH%}";
      proxy_hide_header Authorization;
      add_header Access-Control-Allow-Origin * always;
      add_header Access-Control-Allow-Methods "GET, OPTIONS, PROPFIND";
      add_header Access-Control-Allow-Headers "Depth";
      limit_except GET OPTIONS PROPFIND { deny all; }
  }
These public calendars are can be viewed on a web calendar (https://gitlab.nomagic.uk/popi/js_calendar_from_ics)

I should probably write a blog post about the setup.




Let us know when that blog post goes live… ;)


Yup, also interested in that. I have a half broken home cooked software that is basically radicale x monica crm that I would like to phase out for something better.


This. Have been using Radicale for years. Except occasional issues with BusyCal it's been a very smooth ride.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: