Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Good self-hosted calendar sync framework?
4 points by cuuupid on Aug 13, 2020 | hide | past | favorite | 4 comments
I'm recently trying to de-cloud myself. On the top of my list are email, calendar, and meetings since I feel like all this remote work is really tying me into these cloud-based solutions.

I've found some neat libraries regarding email and WebRTC meetings but I can't find anything on calendar sync for the life of me. I have a UI in mind for my own calendar app but I can't find a good open source framework or library that does calendar sync with both Google Calendar (personal), Office365 (work), and CalDAV (also work).

I've found a library that (kind of) does Google Calendar by itself and a slew of projects regarding Office365's API that don't really seem to have much in the way of reliability. Haven't found anything in the way of CalDAV.

Hoping someone can recommend a good calendar sync framework, preferably with JS or Rust bindings?




Have you checked out https://nextcloud.com for solving everything?


Yeah! So I set this up locally for email and a self hosted calendar, but I generally dislike modern calendar interfaces and am looking to experiment in building my own out (probably using Rust or JS).

NextCloud's engine doesn't seem to be very friendly/lightweight in this regard as it's been built specifically for their frontend :/ I was hoping there was some library that accomplished the same thing while being more lightweight/having friendly bindings.


nextcloud is everything


While CalDAV sounds simple on paper, it is anything but. That explains the complexity of most projects related to it.

Things like DAVdroid provide a syncing ability for Cal/CardDAV to Android.

There is evolution-data-server and SyncEvolution for regular GNU/Linux.

Good luck in building something lighterweight, I'd be keen to move to it from NextCloud too :)




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

Search: