X
Tech

DYI CalDAV and CardDAV Sync server

Keeping multiple Macs in sync with iCal calendar file and Address Book contacts can be a pain. Of course, there are third-party tools and cloud services that support synchronization with your Mac, such as Apple's MobileMe or Google's Calendar application.
Written by David Morgenstern, Contributor

Keeping multiple Macs in sync with iCal calendar file and Address Book contacts can be a pain. Of course, there are third-party tools and cloud services that support synchronization with your Mac, such as Apple's MobileMe or Google's Calendar application. But all sync solutions come at some cost, whether in cash or in spotty reliability. However, a recent Mac OSX Hints article can help savvy users to run their own free, Darwin-based CalDAV and CardDAV server.

As the anonymous article points out, Snow Leopard Server offers standards-based calendar and contacts services, supporting CalDAV and CardDAV standards, respectively. In a bit of good news, these components are available in open-source versions.

Fortunately enough, these portions of OS X Server are also open-source, and are known as the Darwin Calendar and Contacts Server. The two servers are still separate projects (written in Python and based on the Twisted framework), and are very much under development.

The CardDAV server was only released in early 2010. Consequently, a lot of the installation, configuration and operation is only half-baked, and it takes some work to get to the point of the famous Apple "it just works" (well, they do want you to buy OS X Server). Nevertheless, once you have everything up and running, this is exactly what you get: the most dependable way to sync your calendars and contacts within a local network or over the internet, for free. You can designate any Mac on your network to be the server, and it will serve itself as well.

This is an excellent idea, and as the tip points out, the services can run on any machine on your network.

Editor Ron Regev offers a step-by-step tutorial on setting up the server. FYI: The process is not GUI based and requires use of the Terminal.

Editorial standards