Bis vor kurzem habe ich zur Synchronisation meiner Kontakte und meines Kalenders Owncloud benutzt, um zu vermeiden, dass alle meine Daten bei Google liegen. Owncloud habe ich damals gewählt, weil es mir aufgrund der hohen Verbreitung als die einfachste Lösung erschien. Was von so vielen Leuten benutzt wird, kann so schlecht ja gar nicht sein.
Falsch gedacht! Owncloud ist einfach nur schrecklich! Es gibt keine Autoupdatefunktion, man muss aber ständig updaten, weil immer wieder hochkritische Sicherheitslücken auftauchen. Man wird nicht einmal informiert, wenn ein neues Update verfügbar ist. Und wenn man mal wieder updaten muss, weil man erfahren hat, dass seine ganze Serverinfrastruktur bedroht ist*, muss man eine extrem lange Liste von Schritten manuell abarbeiten, nur um festzustellen, dass irgendwas doch kaputt gegangen ist und man bis nachts um drei da sitzen muss um es zu fixen, weil man auf die Synchronisierung seiner Kalenderdaten angewiesen ist.
Performant ist es auch nicht, da CalDAV und CardDAV eigentlich nicht die Hauptfunktionalität von Owncloud sind und man noch einen riesigen Overhead an „Cloud“-Funktionalitäten hat. Außerdem musste ich manchmal an der Korrektheit der Software zweifeln – auch wenn ich nicht beweisen kann, dass es an Owncloud lag – da irgendwann mal ein paar Aufgaben im Kalender gefehlt haben, und dafür ein paar andere doppelt waren.
Baikal for the Rescue
Nun habe ich mit Baikal einen neuen CalDAV-Server gefunden und ich muss wirklich sagen, er erfüllt (fast) alle meine Ansprüche.
Zuallererst bringt Baikal keinen unnötigen Schnickschnack mit, sondern nur die CalDAV/CardDAV-Funktionalität. Ein kleines Admin-Webinterface ist auch dabei, sonst nichts. Es ist relativ leicht zu installieren, scheint recht effizient zu laufen und funktioniert einwandfrei. Eine gute Installationsanleitung findet sich hier. Ich habe zuerst Version 0.2.7 installiert und vor ein paar Tagen auf 0.3.4 geupdatet und hatte überhaupt keine Probleme damit.
Ist Baikal also Perfekt?
Wie jede andere Software hat Baikal auch seine Nachteile. Zum einen ist die Dokumentation miserabel und die Funktionalität findet sich nicht immer da, wo man sie gerade erwartet hätte. So ist das Webinterface beispielsweise nur vom Benutzer „admin“ benutzbar, was bei mir zuerst für Verwirrung gesorgt hat (Der Benutzername ist sogar hardgecodet, ich hab es mir im Code angesehen). Normale Benutzer können so keine eigenen Kalender über das Admininterface anlegen. Das geht nur direkt über das darunterliegende SabreDAV in einem extrem hässlichen Interface. Wie man als normaler Nutzer sein Passwort ändert, habe ich noch nicht herausgefunden. Da ich aber der einzige Benutzer bin, stört mich das alles nicht.
Die Entwickler scheinen außerdem nicht wirklich auf Sicherheit bedacht zu sein. Das Webinterface ist durchgehend anfällig für CSRF und man kann mit einem einfachen GET-Request ganze Benutzer und ihre Kalender aus der Datenbank löschen, was die Entwickler aber nicht zu stören scheint. Auf der GitHub-Seite gibt es schon seit einiger Zeit ein Issue dafür, die Entwickler meinen aber, es gebe „wichtigeres“ zu tun.
Zugegebenermaßen hat auch Baikal keine Autoupdatefunktion, das Updaten geht jedoch viel schneller und einfacher als bei Owncloud und lässt sich wahrscheinlich mit einem Skript automatisieren.
Wenn man aber der einzige Benutzer dieser Software ist, der sich darüber hinaus nur einmal ins Admininterface eingeloggt hat, um seine Kalender zu erstellen und sie dann einfach nur laufen lässt, ist Baikal wohl der beste CalDAV-Server, den es gibt.
Fußnoten:
* OK, so schlimm ist es nun auch nicht. Die kritischen Code-Execution-Lücken konnten nur von authentifizierten Nutzern durchgeführt werden und ich bin der einzige Benutzer. Für Installationen mit nicht vertrauenswürdigen Nutzern (alle Nutzer außer dem Admin) trifft das aber dennoch zu.