A lightweight CalDAV and CardDAV server that uses a Git repository for data storage.
Xandikos is an open-source, self-hosted server that provides CardDAV and CalDAV services. It uses a Git repository as its primary backend for data storage, allowing calendar and contact information to be managed via version control. This architecture ensures that all personal information management data is stored in a format that is easily backable and trackable through standard Git tools.
The software is deployed as a web application that can listen on a plain HTTP socket or operate behind a reverse proxy such as Nginx or Apache. It is available as a Python package and as a container image for deployment via Docker. Users can initialize the server with default collections or create their own calendars and address books directly through a compatible client or by creating Git repositories in the specified data directories.
Xandikos is built with Python and relies on libraries such as Dulwich for Git operations, Jinja2 for templating, and icalendar for calendar data. It includes a scheduling system where organizers and attendees on the same server can exchange iTIP messages that are automatically applied to their calendars. For remote attendees, the server can be configured to send outbound iMIP messages via SMTP or a local sendmail binary. Inbound iMIP messages can be handled via a Dovecot Sieve rule or a direct LMTP endpoint. The server also supports a metrics endpoint and can be configured via environment variables for Docker deployments.
This server is designed for users who want a lightweight way to host their own personal information management data using Git for the underlying storage.
Join our newsletter to get shiny new open source software delivered to your inbox. Unsubscribe anytime.