Self hosted contacts and calendar sync
5 min read

Self hosted contacts and calendar sync

Having your address book and calendar synchronized between all your devices is very useful and basically a common thing to have nowadays. If you buy into an existing ecosystem like Google, it is pretty much a solved problem. However, there are not many such ecosystems out there and if you don't feel comfortable for your own reasons, to bind youself to such offerings, self hosted solutions are unfortunately not yet very popular, despite the availability of great self hosted alternatives.

In this article, I will guide you through the process of getting set up with three different self hosted apps, which provide contacts and calendar sync between all your devices, based on the solid standard protocols CardDAV and CalDAV.

Server applications

OwnCloud / Nextcloud

OwnCloud and its latest fork Nextcloud, offer a full blown contacts and calendar app through their internal addon store. Those addons can be enabled under the Productivity section within the Apps interface, which is reachable using the administrator account.

After enabling them, the corresponding menu items are available also for non admin accounts.

For both contacts and calendar, owncloud comes with a sophisticate webui to manage entries, but for synchronisation, the CardDAV and CalDAV urls are of most interest for us. They can be revealed in the corresponding view as shown here:

The URLs should look similar to this:

Contacts: https://<domain>/remote.php/dav/addressbooks/users/<username>/<addressbook>/
Calendar: https://<domain>/remote.php/dav/calendars/<username>/<calendar>/

SOGo

Similar to OwnCloud, SOGo comes with a full webui to manage your addressbook contacts and calendar entries. It recently got a full overhaul and sports a modern interface now. SOGo is only about a groupware solution and is thus more dedicated to those tasks.

The CalDAV link is available for each calendar in its context menu under "Links to this Calendar" and the corresponding entry for the address book you want to sync with at "Links for this Address Book".

The URLs should look similar to this:

Contacts: https://<domain>/SOGo/dav/<username>/Contacts/<addressbook>/
Calendar: https://<domain>/SOGo/dav/<username>/Calendar/<calendar>/

Radicale

Radicale is also a pure contact and calendar application. It does not even come with any webui, fully relying on other *DAV clients. This might appeal mostly to purists. Radicale's user documentation has a elaborate list of supported clients here. Those details mostly also apply to OwnCloud and SOGo, only using the slightly different URLs.

After installing Radicale, you have to use the below URLs. Addressbooks and calendars are created on the fly after first request.

Contacts: https://<domain>/<username>/<addressbook>.vcf/
Calendar: https://<domain>/<username>/<calendar>.ics/

Sync clients

While setting up any of the below clients, please also note that all trailing backslashes are required!

Thunderbird with SOGo Connector

The same authors of the SOGo server application Inverse, also offer a great Thunderbird addon, called SOGo connector. The addon can be obtained here and does work with all of the above server applications. After downloading the *.xpi addon file, install it using the Thunderbird "Install Add-On From File" option in the addons page.

Once installed, create a new remote address book and enter the CardDAV URL, in the screenshot it is a SOGo URL...

...and a similar process for setting up a new calendar:

Once the client starts syncing the first time, which can be triggered manually as well in the right-click context menu of the address book and calendar entry, it will prompt for your Cloudron account credentials.

Thunderbird also is the best method for importing an initial set of contacts, especially if you have a large set. Some apps like SOGo currently have some issues with more than hundreds of contacts being imported using the webinterface.

Additionally to merge duplicate entries, the Duplicate Contact Manager addon might come in very handy.

Android

For Android there are several options to sync your contacts and calendars. The two free apps CardDAV Sync and CalDAV Syncare both easy to use, however I would recommend using the paid app DAVdroid which has a much more convenient user interface.

After you have decided and installed them, you have to configure them with the very same URLs provided by the server application of your choice, just like in the Thunderbird configuration.

iOS and Windows Phone

iOS and Windows Phone both support CalDAV and CardDAV out of the box, you can follow the excellent step by step guide from the Radicale documenation in this case. The process for those platforms does not only apply to Radicale but also to SOGo and OwnCloud, only the URLs are different again.

Conclusion

I hope this article shows how alternative apps for contacts and calendar syncing allow you take full control over those aspects of your online services, while still providing the same convenience as other centralized solutions.

Especially taking advantage of self-hosting those applications on a Cloudron, allows everyone, even without deep technical knowledge, to get up an running quickly and without additional effort.

Installing Cloudron

New to Cloudron? Get started for free by running with 3 simple commands on your server. You can also use the referral links on that page to get a free VPS on popular providers like Digital Ocean, Linode and Vultr.