Code Repositories calypso / master

Tree @master (Download .tar.gz)

 Calypso - CalDAV Server

The Calypso Project is a free and open-source CalDAV calendar server.

Initial setup
Calypso runs as a regular user, all data are stored in ~/.config/calypso.
Either generate SSL keys, or use the default self-signed keys, then:

$ mkdir -p ~/.config/calypso/calendars
$ chmod og-rwx ~/.config/calypso
$ touch ~/.config/calypso/htpasswd
$ cat > ~/.config/calypso/config << EOF


Running calypso

Then run calypso:

$ python ./

To capture logs, you can run in the foreground with debugging:

$ python ./ -fg >calypso.log 2>&1

Creating users and calendars

To add a new user:

$ htpasswd -s $HOME/.config/calypso/htpasswd USER

To add a new database:

$ mkdir -p ~/.config/calypso/calendars/private/test
$ cd ~/.config/calypso/calendars/private/test
$ git init
$ cat > .calypso-collection << EOF
is-calendar = 1
$ git add .calypso-collection
$ git commit -m'initialize new calendar'

The new calendar should now be visible as https://USER:PASSWORD@localhost:5233/private/test.

You can add files to the directory at any time; calypso will check the
directory mtime at each operation and update its internal state from
that on disk automatically when the directory changes.

Importing files

Given a set of files with VCALENDAR or VCARD entries, you can import them with:

$ calypso --import private/test <filenames...>

This will update any changed entries and add any new ones.

Kerberos via GSSAPI support
For Kerberos authentication generate a keytab on your KDC and put the
exported keytab on your calypso server into */etc/krb.keytab* so it
looks like:

  # ktutil -k /etc/krb5.keytab list

  Vno  Type                     Principal                         Aliases
    1  aes256-cts-hmac-sha1-96  HTTP/
    1  des3-cbc-sha1            HTTP/
    1  arcfour-hmac-md5         HTTP/

the put the service name to use into ~/.config/calypso/config:


and install the pykerberos module. You should then be able to authenticate
via Kerberos using GSSAPI.