We wanted to sync our calendar and contacts on a Z10 running BB10 to a server we controll instead of relying exclusively on common carriers.
We had sideloaded Android’s CardDAV-syncfree from the developer’s website and connected to an account at fruux.com, but that didn’t quite give us the control and security we wanted. We could install an entire groupware stack like Zimbra or OpenXchange, but that was more than we needed.
Enter Radicale, a lightweight VCF and ICS server. We could run the whole thing on our VPS. Installation was easy enough, given the directions on the web. The trick was in configuration…
Authentication with PAM didn’t work, because the python-pam library requires python2, but we’re using python3. We used IMAP instead, because we already had an operating IMAP provider already (dovecot). We even updated its certificates and configuration with perfect forward security to avoid heartbleed.
Next was radicale itself. We combined config info at http://radicale.org/user_documentation/ and ended up with making separate CalDAV and CardDav accounts with the same name so they’d appear listed together with the IMAP account.
The CalDAV server address is example.com:5232/smithie/calendar.ics/ and the CardDav server address is example.com:5232/smithie/addressbook.vcf/ — note that you must include the trailing slash. Completing the setup automatically created files in /home/smithie/.config/radicale/collections/smithie
We ran radicale by hand, with the –debug option, so we could see exactly what was happening, then started it for production with systemctl.