self-hosting my calendar

February 25th, 2014 by lucas

I’m trying to self-host my calendar setup, and I must admit that I’m lost between all the different solutions.

My requirements are:

  • (A) manage my own personal calendar using a reasonably modern web interface (probably on my own CalDAV server)
  • (B) display a dozen public ICS calendars in the web interface. Organizing those public calendars in a tree would be great.
  • (C) display several caldav calendars (from two different instances of zimbra), preferably in RW mode
  • (D) provide ICS links with a secret token that allow me to provide a full view of my calendar to some people (except for private events, where I should just be marked ‘busy’)
  • (E) provide ICS links with a secret token that allow me to provide a “busy/available” view of my calendar to some people
  • (F) export something usable on my n900. MFE would be great since that is already known to work.
  • (G) easy to setup (Debian packages available in wheezy or wheezy-backports, especially for the server part)
  • (H) preferably lightweight. I don’t need a full groupware application. I can ignore the other bits if really needed.

It does not seem to be possible to find a single framework doing all of the above. AFAIK:

  • Owncloud does A, D, G
  • Baikal does A. not sure about the rest.
  • For (B), an alternative is to script the download of the ics and then upload it to the CalDAV using cadaver. But that sounds quite low-level for such a trivial use case.
  • I’ve looked at using IceOwl (and Thunderbird+Lightning) with a CalDAV server such as Radicale. That would solve A (using iceowl instead), B, C. But which CalDAV servers support D, E, F ? Radicale does not do any of those, apparently.

What did I miss?

11 Responses to “self-hosting my calendar”

  1. gregoa wrote on 02/26/14 at 1:04 am :

    calendaring is a mess indeed :/

    good news for (F): syncevolution on the n900 works with caldav (and carddav) and the native calendar (and contacts) database(s); I’m using it against a davical server, should work with others as well.

  2. johnd wrote on 02/26/14 at 1:41 am :

    Have you looked at Sogo?
    I use it for my Calendars and Contacts (in a multiuser context), and am happy with it. It seems that it can do most of what you require.

  3. Anonymous wrote on 02/26/14 at 2:45 am :

    I’ve been trying to do the same thing for a while, with roughly the same requirements (plus one more: server software must not use PHP). If you find a good solution, please do consider blogging about it.

  4. Nicolas Ledez wrote on 02/26/14 at 9:49 am : ?

  5. lucas wrote on 02/26/14 at 9:57 am :

    doesn’t it fail at least B, D, E ? (and H, even if I can live with that)

  6. Corsac wrote on 02/26/14 at 10:23 am : ?

  7. mirabilos wrote on 02/26/14 at 10:57 am :

    Something like this, maybe?

    This is what I use (roughly; rido idé doesn’t seem to have a website of their own, and I get them from a local large stationary place).

  8. RogerBW wrote on 02/26/14 at 2:52 pm :

    Anonymous #3, the only sane non-PHP caldav server that I’ve found is Calypso ( . But it doesn’t do any of the secret token stuff.

  9. lucas wrote on 02/26/14 at 5:05 pm :

    actually, it should be fairly easy to write a script uses caldav to retrieve one or more calendars and generate the suitable public versions.

    the pointer to calypso is interesting.

    someone else pointed me to which provides a good overview on the situation.

  10. Markus Frosch wrote on 02/26/14 at 8:01 pm :

    Hey Lucas,
    you might wanna have a look at Horde, it’s a big framework, but handles Mail+Cal+Adressbook very nice.

    Plus you can connect your Mobile via ActiveSync.

    It really works good for me so far, but you should install Horde via a separate user and use pear to install and update in the users home.


  11. Lucas Nussbaum’s Blog » Blog Archive » self-hosting my calendar, follow-up wrote on 02/27/14 at 6:39 pm :

    […] my blog post on the topic, I played a bit with various […]