Add installation docs for CalDAV server.

This commit is contained in:
linse 2018-09-28 11:56:51 +02:00
parent 04f40ad1f8
commit 26bee45142

View file

@ -1,24 +1,62 @@
--- ---
title: A CalDAV server title: CalDAV server
abstract: ![calendar](/static/img/calendar.png) abstract: ![calendar](/static/img/calendar.png)
--- ---
![calendar](/static/img/calendar.png) ![calendar](/static/img/calendar.png)
This project is funded (likely 04 - 10/2018, two persons) via the [prototype Calendaring software provides users with an
fund](https://prototypefund.de/project/robur-io/).
[Wikipedia](https://en.wikipedia.org/wiki/Calendaring_software) says:
calendaring software is software that minimally provides users with an
electronic version of a calendar. Additionally, the software may provide an electronic version of a calendar. Additionally, the software may provide an
appointment book, address book, and/or contact list. appointment book, address book, or contact list.
[CalDAV](https://en.wikipedia.org/wiki/CalDAV) are the calendaring extension to We implemented a CalDAV server based on MirageOS.
WebDAV (a HTTP-based protocol for data manipulation). [CalDAV](https://en.wikipedia.org/wiki/CalDAV) is a calendaring extension to
WebDAV, an HTTP-based protocol that allows to read, write and alter files, directories and file properties.
The calendar data can be stored in memory, on disk, or in a
git repository using [irmin](https://github.com/mirage/irmin).
We tested interoperability with most common CalDAV clients (DAVdroid on Android, Thunderbird Lightning on Linux/Unix/Windows, Apple
calendar app on MacOS and iOS).
## How to try the calendar server
There is a live instance for testing available at `calendar.robur.io`.
There is a test user called `test` with password `password` for your convenience.
If you use MacOS, you need add a new CalDAV account in the calendar app, set it to manual, and enter the above URL, username and password.
For iOS you need to add an account in the calendar app, select "other" and then CalDAV.
Discovery of calendars happens automatically.
If you use Thunderbird Lightning, you need to create a new calendar on the network, select CalDAV as remote calendar format, and enter a full calendar URL, e.g.
`http://calendar.robur.io/calendars/<username>/calendar`.
If you use DAVdroid, you can enter the short URL like for MacOS.
Discovery of calendars happens automatically.
## How to host the calendar server yourself
Make sure you have OCaml version `>=4.03.0`, and opam version `>=1.2.2` installed via your operating system.
Also, you need to install and clone
```
opam pin add icalendar https://github.com/roburio/icalendar.git
opam pin add webmachine https://github.com/roburio/ocaml-webmachine.git#webdav
git clone https://git.robur.io/caldav.git
opam pin add caldav caldav/
opam install --deps-only caldav
```
Now you can build the project, add a place for storage, and run the calendar server:
```
cd caldav
make
mkdir /tmp/calendar
_build/default/app/caldav_server.exe
```
Time to add some calendars and fun meetups!
## Funding
This project was funded via the [prototype
fund](https://prototypefund.de/project/robur-io/). Thanks a lot!
We plan to implement a CalDAV server based on MirageOS. The data is stored in a
git repository by using [irmin](https://github.com/mirage/irmin). We will do
interoperability testing with widely used clients (Android, Thunderbird, Apple
iCal).
Expect more updates of this project once it starts.