EteSync
Provides an easy and private way to sync calendar and contacts between devices.
Ports
Forward port 80 and 443 from your internet router
Using on mobile
The user interface is a little misleading. Make sure that you log in with your username, not your email address.
Also choose the advanced option and enter the subdomain that you installed etesync on.