Syncing your android's calendar with your PC on local network using Syncthing

TL;dr: share .ics files via syncthing and integrate them into your android calendar using ICSx⁵

Okay, technically this is only barely KDE related, but people occasionally ask about how to sync their calendar between android and KDE/Linux on local network or for KDEconnect to add this feature, so I want to share how I’m syncing my calendars.

This may not be the optimal solution for you. I didn’t want to bother with setting up a WebDAV server or anything and I just happen to use Syncthing and ICSx⁵ anyway, so it works out well for me.

Assuming the relevant local calendars are on your phone, you just need to export those to .ics files and then delete them (because we’ll re-add them as synced calendars), put the .ics files into a folder, add the folder to syncthing, install ICSx⁵, add the exported files via “subscribe to file”, go into your calendar app activate the calendars in the settings (in the fossify calendar app the setting is called “manage synced calendars”) and then on the computer, in your calendar app’s settings (I use merkuro) go to accounts > add account > iCal Calendar File and select your .ics files in the folder that you synced them to (if you have multiple ics files you have to add them one by one).

I exported each event type in fossify calendar into a separate .ics file, because that worked better for me, but you might get it to work with all in one.

If you have a better or just different solution or a problem with this one feel free to share.

2 Likes

Alternatives (you already mentioned them)

  • Nextcloud and Owncloud come with CalDAV and CardDAV endpoints (in Nextcloud website, go to Calendar, “Calendar Settings” in the bottom left). These can be integrated into Android with DAVx⁵. This is my preferred method for many years.

  • Similarly, Some email providers come with CalDAV and CardDAV, so if you don’t have access to a Nextcloud server this might also be an option. However I do not know many providers that offer these for cheap.

If you want to use Tasks aswell, I am currently using Tasks.org for Android. It can read/write your CalDAV tasks directly or using the integration with DAVx5. For me these Tasks are of limited use since I find it strange how they are displayed in Thunderbird, so I mainly use normal calendar events instead.