Andreas Bruns

Softwareentwicklung für Oldenburg und Bremen

Kalender-Server im Haushalt mit Radicale

Vor drei Jahren habe ich meinen Banana Pi mit der OwnCloud ausgestattet. Da der Einplatinencomputer als OwnCloud-Server doch etwas langsam agierte, bin ich bei der Datei-Verwaltung auf ein performanteres System umgestiegen. Für die Kalenderfunktionen habe ich mit Radicale (A Free and Open-Source CalDAV and CardDAV Server) auch einen einfachen, leichtgewichtigen Ersatz gefunden.

Radicales Eigenschaften sind vollkommen ausreichend für meinen Anwendungsbereich als Familienkalender und passen hervorragend zu dem eher leistungsschwachen Banana Pi:

  • Kalender-Anbindung von Clients über CalDAV, WebDAV und HTTP
  • Adressbuch-Anbindung von Clients über CardDAV, WebDAV und HTTP
  • kaum Installation und Konfiguration notwendig
  • arbeitet mit Dateien und benötigt keine Datenbank
  • implementiert nur die wichtigsten Spezifikationen
  • Unterstütung von Authentifizierung

Linux-Umgebung bereitstellen

Vor einigen Jahren habe ich für den Banana Pi das Betriebssystem Bananian verwendet, das nicht mehr weiterentwickelt wird. Daher habe ich mich jetzt für das auf Debian beruhende Armbian entschieden, das viele Einplatinencomputer mit unterschiedlichsten ARM-Prozessoren unterstützt, wie den Banana Pi. Nach Download des passenden Debian Server-Images (alternativ ist ein Ubuntu Desktop-Image verfügbar) habe ich es auf die SD-Karte per Mac installiert (mit diskutil erhält man die Disk-Nummer):

bruno$ brew install p7zip
bruno$ wget https://dl.armbian.com/bananapi/Debian_stretch_next.7z
bruno$ 7z x Debian_stretch_next.7z
bruno$ shasum -a  256 Armbian_5.38_Bananapi_Debian_stretch_next_4.14.14.img
bruno$ cat sha256sum.sha 
bruno$ diskutil list
bruno$ diskutil unmountDisk /dev/diskX
bruno$ sudo dd bs=1m if=Armbian_5.38_Bananapi_Debian_stretch_next_4.14.14.img  of=/dev/diskX
bruno$ diskutil eject /dev/diskX

Radicale installieren

Nach dem ersten Anmelden per direkter Tastatur oder remote per SSH mit root/1234 muss man einen neuen Superuser-Account anlegen und sollte das gesamte System aktualisieren:

bruno$ sudo apt-get update; sudo apt-get upgrade;

Mit „sudo armbian-config“ lässt sich das System bequem per Menu konfigurieren. Die Installation von Radicale kann dann per Armbians Paketverwaltung in der 1. Version „sudo apt-get install radicale“ oder per PIP-Installation in der aktuellen 2er Version erfolgen.

bruno$ sudo apt-get install python3 python3-pip;
bruno$ sudo python3 -m pip install --upgrade wheel setuptools
bruno$ sudo python3 -m pip install --upgrade radicale

Anschließend erstellen wir eine minimale Config- und Users-Datei und können damit den Radicale-Server starten:

bruno$ echo "familie:familiePw" > users
bruno$ echo -e "[auth]\ntype=htpasswd\nhtpasswd_filename=users\nhtpasswd_encryption=plain\n\n[server]\nhosts=0.0.0.0:5232" > config

bruno$ radicale --config "config" --storage-filesystem-folder=~/.var/lib/radicale/collections

Im Browser können wir die Radicale-Startseite aufrufen http://Server-IP:5232 und verschiedene Kalender mit familie:familiePw anlegen:

Radicale-Weboberfläche

Produktiv-Konfiguration von Radicale

Damit der Kalender produktiv genutzt werden kann, sollte der Kalender beim Hochfahren des Servers automatisch gestartet werden.

Nach dieser Dokumentation nutze ich die Konfigurationsdatei /etc/radicale/config und lege daneben die users-Datei ab. Anschließend habe ich die Anleitung „Running as a service -> Linux with systemd system-wide“ verfolgt und lasse Radicale als systemd-Service laufen.

Kalender für den mobilen Einsatz

Für den Einsatz im eigenen Heimnetz genügt bereits die angegebene Konfiguration. Sobald man von unterwegs die aktuellsten Termine synchronisieren möchte, muss man für den bequemen mobilen Zugriff noch etwas mehr Aufwand betreiben:

MacOS: Kalender-Konfiguration

Kommentare sind geschlossen.