Graham Eddy

Baikal server

CalDAV and CardDAV server.

2022-08-31 Ubuntu 20.04-22.04, Raspian buster-bullseye


This installs into a new Virtual Server cal.geddy.au.


Installation

graham:~ cd /tmp graham:/tmp wget https://github.com/sabre-io/Baikal/releases/download/0.9.2/baikal-0.9.2.zip graham:/tmp unzip baikal-0.9.2.zip graham:/tmp sudo mkdir -p /srv/http graham:/tmp sudo mv baikal /srv/http/cal.geddy.au graham:/tmp cd /srv/http/cal.geddy.au graham:/srv/http/cal.geddy.au sudo chown -R root:root . graham:/srv/http/cal.geddy.au sudo chown -R www-data:www-data config Specific graham:/srv/http/cal.geddy.au cd /etc/nginx/sites-available graham:/etc/nginx/sites-available sudo vi cal.geddy.au
/etc/nginx/sites-available/cal.geddy.au new file
# cal.geddy.au - virtual server

server {
    server_name cal.geddy.au;
    listen 80;
    listen [::]:80;
    root /srv/http/cal.geddy.au/html;

    index index.html index.htm index.php;

    location / {
        try_files $uri $uri/ =404;
    }

    rewrite ^/.well-known/caldav /dav.php redirect;
    rewrite ^/.well-known/carddav /dav.php redirect;

    charset utf-8;

    location ~ /(\.ht|Core|Specific|config) {
        deny all;
        return 404;
    }

    location ~ ^(.+\.php)(.*)$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php-fpm.sock;
    }
}
graham:/etc/nginx/sites-available cd ../sites-enabled graham:/etc/nginx/sites-enabled sudo ln -s ../sites-available/cal.geddy.au . graham:/etc/nginx/sites-enabled sudo systemctl reload nginx

Browse to http://cal.geddy.au, which starts a wizard:

Baikal wizard first screen
Timezone           Australia/Melbourne
Enable CardDav     ✓
Enable CalDav      ✓
Email invite addr  empty
WebDav auth type   Digest
Admin password     password
Confirm password   password
Database setup
SQLite file        /srv/http/cal.geddy.au/Specific/db/db.sqlite
Use MySQL          ☐

then Login screen is presented for you to login as admin to configure users etc. Defer this for now.

graham:/etc/nginx/sites-enabled sudo certbot -d cal.geddy.au --nginx

Add users, address books, calendars

Browse to https://cal.geddy.au/, login as admin.