Baïkal is open source software om je eigen CalDAV en CardDAV server op te zetten. Je gebruikt zo’n server om je kalender en contacten te beheren. Omdat ik geen actuele handleiding kon terugvinden hoe je zo’n server in 2025 opzet, heb ik hieronder de handleiding opgeschreven. Het begin is uitgewerkt voor dummies, maar deze handleiding wordt snel best technisch. Als je je afvraagt, waarom Raspberry Pi en geen Docker? In het geval van defecte hardware werken de andere services dan wel devices nog.
Raspberry Pi gereedmaken voor installatie
Wat je nodig hebt is een Raspberry Pi Zero 2W met een stroomadapter en een 16GB MicroSD kaart. Optioneel kun je nog een Ethernet naar micro-USB stekker erbij aanschaffen, zodat je niet via de WiFi verbind met je lokale netwerk. Je moet daarnaast toegang hebben tot je router. Anders kun je niet achterhalen wat het IP adres is van je Raspberry Pi. Hoe je die toegang verkrijgt zul je moeten opzoeken via internet, want het verschilt per router. Zoek bijvoorbeeld via de betaalde zoekdienst Kagi (zodat je geen reclame meer ziet via zoeken) op ’toegang tot router <<modelnaam van je router>>. Het model van je router staat meestal op de achterkant.
Heb je al die spullen aangeschaft, download dan de Raspberry Pi imager. En kies voor Raspberry Pi Zero 2W, Raspberry Pi OS 64 bit en voor je geheugenkaartje (die moet je wel eerst in je computer stoppen). Doorloop de installatie en geef aan dat je installatie opties wilt configureren. Voer een SSID en wachtwoord van je WiFi in en maak een SSH account aan (gebruikersnaam en wachtwoord). Pas de opties toe en installeer daarmee een operating system op het geheugen kaartje. Dat kaartje stop je daarna in de Raspberry Pi en je zet die aan door de stekker erin te stoppen (let op de juiste USB port).
Inloggen via SSH en configureren van Baïkal
Open een verbinding met SSH via je terminal (Mac en Linux) of via Putty (Windows).
sudo ssh username@<<Raspberry Pi IP address>>
Voer dan de volgende commando’s in om alles te installeren:
sudo apt update && sudo apt upgrade
sudo apt-get install lighttpd
sudo apt install php php8.3-common
sudo apt install php8.3-cgi
sudo apt -y install sqlite3
sudo apt install php8.3-sqlite3
sudo apt install php-xml
Start de webserver:
sudo lighttpd-enable-mod fastcgi fastcgi-php
En installeer Baïkal:
sudo -i
cd /var/www
wget https://github.com/sabre-io/Baikal/releases/download/0.9.5/baikal-0.9.5.zip
unzip baikal-0.9.5.zip
cd baikal
touch Specific/ENABLE_INSTALL
cd Specific
mkdir db
chown -R www-data:www-data /var/www/baikal
cd /etc/lighttpd/
Je moet nu met nano -een text editor voor servers- nog de configuratie aanpassen. Zoek even op hoe nano werkt (o.a. met pijltjes en :q om op te slaan). Het IP adres 192.168.4.0 moet je vervangen met het subnet van jouw router (dat is hetzelfde als het ip adres van je Raspberry Pi maar dan met een 0 als laatste cijfer). De instructie met ## ervoor hoef je niet over te typen:
nano lighttpd.conf
## set root folder for www in config-file:
server.document-root = "/var/www"
## deny access from outside of local network by adding:
$HTTP["remoteip"] != "192.168.4.0/24" {
url.access-deny = ("")
}
Om de boel dan te starten voer je de volgende commando’s uit:
sudo service lighttpd force-reload
sudo systemctl start lighttpd
sudo systemctl enable lighttpd
Je kunt nu je server bereiken via http://<<IP adres van je Raspberry Pi>>/baikal/html/admin/
Kies in de configuratie voor het gebruiken van een SQLite database.
Baïkal updaten
Het zal je vast zijn opgevallen dat je niet de laatste versie van Baïkal hebt geinstalleerd. In de installatie van de laatste versie zit een bug. Maar je kan wel (makkelijk) updaten.
Download de laatste versie via https://github.com/sabre-io/Baikal/releases/
Pak het bestand uit en verwijder de mappen ‘specific’ en ‘config’.
Zoek even op hoe je over SSH kopieert als je dat nog nooit hebt gedaan:
## Also see instructions on https://sabre.io/baikal/upgrade/
## copy extracted zip to server (from Downloads directory)
scp -r ./baikal username@<<Raspberry Pi IP address>>:/home/$user/Downloads/
## copy update to var/www
cd ~/Downloads
sudo scp -r ./baikal /var/www/
sudo service lighttpd force-reload
Backup maken van je gegevens
Je kunt een backup maken van je gegevens door de database te kopieren:
scp -r username@<<Raspberry Pi IP address>>:/var/www/baikal/Specific/db /home/$user/backup/baikal/
Instellen op je telefoon en je PC
Heb je een ontgooglede smartphone, download dan de apps Etar en DAVx5. De URL van je calender is:
http://<<Raspberry Pi IP address>>/baikal/html/dav.php/calendars/username/calendar-name/
Soms varieert het adres waarmee je toegang krijgt. In Ubuntu 25.04 voeg je een account toe onder settings > online accounts met het onderstaande adres. Dan kun je je server gebruiken met de Calendar app uit het app center (installeer de .deb).
username@<<Raspberry Pi IP address>>/baikal/html/dav.php