tokidoki/README.md

50 lines
1.4 KiB
Markdown
Raw Normal View History

2022-02-21 08:52:09 +00:00
# tokidoki
Tokidoki is a (WIP) carddav and caldav server.
2022-05-19 11:22:41 +01:00
## Architecture
Tokidoki relies on [go-webdav][1] for the protocol implementation. It provides
the storage backend and authentication, both of which are easily pluggable.
It currently provides:
Authentication:
* IMAP (working)
* PAM (working, enabled via the `pam` build tag)
2022-05-19 11:22:41 +01:00
Storage:
* Filesystem (working)
* PostgreSQL (planned)
[1]: https://github.com/emersion/go-webdav "go-webdav project page on Github"
## Building
* `cd cmd/tokidoki && go build`
## Running
2022-05-19 11:22:41 +01:00
Using the IMAP authentication backend and the filesystem storage backend
(directory must exist), listening on port 8080 on all interfaces:
* `./tokidoki -addr ":8080" -auth.url imaps://imap.example.com:993 -storage.url file:///path/to/storage -debug`
Tokidoki does not support HTTPS at this time, use a reverse TLS proxy if
needed.
## Usage
Only a single address book and calendar per user are supported at the moment,
this is currently a [limitation in go-webdav][2].
Tokidoki supports calendar and address book auto-discovery via
`/.well-known/caldav` and `/.well-known/carddav` respectively, as defined in
[RFC 6764, section 6][3]. Hence, most clients should be able to discover
resources by just pointing them at the server root.
[2]: https://github.com/emersion/go-webdav/issues/26
[3]: https://datatracker.ietf.org/doc/html/rfc6764#section-6