Kalender selbst hosten mit Baikal

Kalender selbst hosten mit Baikal

Der Digital Independence Day findet jeden ersten Sonntag im Monat statt. Die Idee dahinter ist simpel: einen Dienst, den man bisher Google, Apple oder Microsoft überlassen hat, durch eine eigene oder zumindest unabhängige Lösung ersetzen. Diesen Monat war bei mir der Kalender dran.

Das Problem mit Cloud-Kalendern

Wer seinen Kalender bei Google oder Apple führt, gibt diesen Unternehmen einen ziemlich intimen Einblick ins eigene Leben. Wann man wo ist, mit wem man sich trifft, welche Arzttermine anstehen. Das alles landet auf fremden Servern und wird ausgewertet. Dabei ist Kalender-Synchronisation technisch seit Jahrzehnten gelöst, über offene Standards namens CalDAV und CardDAV, die praktisch jede Kalender-App versteht.

Selbst hosten: Baikal

Wer bereits ein Homelab betreibt oder einen kleinen Server zuhause hat, kann seinen Kalender komplett selbst hosten. Baikal ist dafür eine naheliegende Wahl.

Baikal ist ein schlanker CalDAV- und CardDAV-Server, der auf dem weit verbreiteten SabreDAV-Framework aufbaut. Er bringt eine einfache Weboberfläche für die Nutzerverwaltung mit und unterstützt als Datenbank sowohl SQLite als auch PostgreSQL. Die Einrichtung ist überschaubar, PHP und ein Webserver sind die einzigen Voraussetzungen. Für ein paar Nutzer in einem Haushalt reicht SQLite vollkommen aus.

Die aktuelle Version ist 0.11.1. Das Projekt wird nicht besonders aktiv weiterentwickelt, tut aber zuverlässig, was es soll.

Baikal hinter einem Reverse Proxy

In meinem Setup läuft Baikal als LXC-Container im Homelab, erreichbar über NPMplus als Reverse Proxy und nach außen über einen Cloudflare Tunnel. Wichtig dabei: Der Authorization-Header muss vom Proxy durchgereicht werden, sonst scheitert die Authentifizierung am Server. In NPMplus reicht dafür eine einzige zusätzliche Zeile in den erweiterten Einstellungen:

proxy_set_header Authorization $http_authorization;

CalDAV Synchronizer für Outlook

Wer Outlook nutzt und nicht auf Thunderbird wechseln will, kann mit dem kostenlosen Plugin CalDAV Synchronizer Outlook direkt mit einem eigenen CalDAV-Server verbinden. Das Plugin synchronisiert Kalender, Aufgaben und Kontakte in beide Richtungen und funktioniert mit Baikal ohne weitere Anpassungen.

Alternative: Radicale

Wer noch schlanker unterwegs sein will: Radicale ist eine weitere Option. In Python geschrieben, ohne Datenbank, speichert es Kalendereinträge schlicht als .ics-Dateien auf der Festplatte. Kein PHP, kein Webfrontend, dafür minimaler Ressourcenverbrauch. Für einen einzelnen Nutzer ohne Bedarf an einer Verwaltungsoberfläche oft die einfachere Wahl.

Kein eigener Server? All-inkl kann das auch

Wer noch kein Homelab betreibt, aber bereits Kunde bei All-inkl ist, hat CalDAV möglicherweise schon inklusive. All-inkl bietet in seinen Webhosting-Tarifen eine Kalenderfunktion über CalDAV direkt im Webmail an. Einen Kalender anlegen, ein CalDAV-Passwort vergeben, die angezeigte Server-URL in den eigenen Kalender-Client eintragen, fertig. Kein eigener Server nötig, trotzdem raus aus Google Calendar und Co.

Die genaue Anleitung dazu gibt es direkt bei All-inkl: CalDAV-Einstellungen im Webmail.

Fazit

Den eigenen Kalender zu betreiben ist kein großes Projekt. Baikal läuft stabil, der Aufwand für die Einrichtung hält sich in Grenzen, und am Ende liegen die eigenen Termine dort, wo man sie haben will: auf dem eigenen Server.

Wer noch keinen eigenen Server betreibt, findet bei di.day ein Wechselrezept für datenschutzfreundliche Kalenderanbieter wie Mailbox.org oder Posteo als einfachen Einstieg.

#DIDit