Giter VIP home page Giter VIP logo

calypso's Introduction

==========================
 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
[server]
certificate=/etc/ssl/certs/ssl-cert-snakeoil.pem
key=/etc/ssl/private/ssl-cert-snakeoil.pem

[acl]
type=htpasswd
encryption=sha1
filename=$HOME/.config/calypso/htpasswd
EOF

Running calypso
---------------

Then run calypso:

$ python ./calypso.py

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

$ python ./calypso.py -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
[collection]
is-calendar = 1
EOF
$ 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/krb5.keytab so it
looks like:

  # ktutil -k /etc/krb5.keytab list
  /etc/krb5.keytab:

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

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

  [server]
  servicename=HTTP/[email protected]

and install the gssapi module with `pip install gssapi`.
You should then be able to authenticate via Kerberos using GSSAPI.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.