Calypso
Calypso CalDAV and CardDAV server
Install / Use
/learn @calypso-server/CalypsoREADME
========================== 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=bcrypt 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 -B $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/krb.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/foo.example.com@EXAMPLE.COM 1 des3-cbc-sha1 HTTP/foo.example.com@EXAMPLE.COM 1 arcfour-hmac-md5 HTTP/foo.example.com@EXAMPLE.COM
the put the service name to use into ~/.config/calypso/config:
[server] servicename=HTTP@foo.example.com
and install the pykerberos module. You should then be able to authenticate via Kerberos using GSSAPI.
Related Skills
apple-reminders
339.1kManage Apple Reminders via remindctl CLI (list, add, edit, complete, delete). Supports lists, date filters, and JSON/plain output.
gh-issues
339.1kFetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assignee @me] [--fork user/repo] [--watch] [--interval 5] [--reviews-only] [--cron] [--dry-run] [--model glm-5] [--notify-channel -1002381931352]
healthcheck
339.1kHost security hardening and risk-tolerance configuration for OpenClaw deployments
node-connect
339.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
