Daymark speaks CalDAV and CardDAV natively and exposes a normalized OpenAPI domain model for everything else. One Rust binary, one database. No Redis, no queue service, no data directory.
CalDAV · CardDAV · OpenAPI 3.1 · single Rust binary · PostgreSQL · MIT
Full-protocol interoperability, a real database, and a programmable API — without deploying a groupware suite.
CalDAV (RFC 4791) and CardDAV (RFC 6352) with discovery, CRUD, sync-token REPORTs and free/busy — for events, tasks and journals. Client-tested: Thunderbird, DAVx⁵, Apple.
iCalendar is a wire format, never the source of truth. Events, tasks, journals, contacts and attachments live in a normalized schema — searchable full-text, addressable through the API.
Argon2id passwords, WebAuthn passkeys, TOTP 2FA with recovery codes, scoped API bearer tokens, CalDAV app passwords, login lockout.
Calendar ACLs with multiple owners, revocable public share feeds, attendee invites by email or phone, iTIP invitations and iMIP replies.
VALARM reminders over email, SMS and Web Push from a durable in-process job queue; a rules engine; HMAC-signed webhooks — all configured from the web UI.
OpenAPI 3.1 served live at /api/openapi.json, scoped tokens, an embedded web UI with no CDN and no build step. MIT licensed.
The embedded web UI: calendar, tasks, contacts, and admin — vendored assets, no CDN.




One binary, one empty PostgreSQL database. Migrations apply on startup.
tar xzf daymark-v*-x86_64-linux.tar.gz
DATABASE_URL=postgres://user:pass@localhost/calendar \
BIND_ADDR=0.0.0.0:8080 ./daymark-server serve
docker run -d --name daymark -p 8080:8080 \
-e DATABASE_URL=postgres://user:pass@host/calendar \
ghcr.io/btafoya/daymark:latest
git clone https://github.com/btafoya/Daymark.git && cd Daymark
sudo scripts/install.sh --with-postgres
calendar-server create-admin admin you@example.com 'a-strong-password'
Full configuration reference and client setup guides in the README.
v1.0.0 is running in production without issue — and real-world use decides what comes next.