Overview
Discover what makes Radicale powerful
Radicale is a lightweight, standards‑compliant CalDAV and CardDAV server written in Python. It exposes full calendar and contact synchronization capabilities to any client that implements the WebDAV‑based protocols, including desktop clients (Outlook, Thunderbird), mobile OSes (iOS, Android), and web‑based tools. From a developer’s perspective, Radicale’s design prioritizes minimalism: the core engine is under 1 000 lines of Python, and data persistence is handled via a simple filesystem layout rather than a relational database. This makes the codebase approachable for contributors and facilitates rapid debugging or custom extension.
Protocol support
Authentication & Authorization
TLS
Data model
Overview
Radicale is a lightweight, standards‑compliant CalDAV and CardDAV server written in Python. It exposes full calendar and contact synchronization capabilities to any client that implements the WebDAV‑based protocols, including desktop clients (Outlook, Thunderbird), mobile OSes (iOS, Android), and web‑based tools. From a developer’s perspective, Radicale’s design prioritizes minimalism: the core engine is under 1 000 lines of Python, and data persistence is handled via a simple filesystem layout rather than a relational database. This makes the codebase approachable for contributors and facilitates rapid debugging or custom extension.
Key Features
- Protocol support – Implements RFC 4791 (CalDAV) and RFC 6352 (CardDAV), with optional support for journal entries, to‑dos, and business cards.
- Authentication & Authorization – Built‑in HTTP authentication (Basic/Digest) and fine‑grained ACLs via a pluggable
authbackend. Permissions can be configured per user or group. - TLS – Supports HTTPS out of the box; configuration is a single
sslsection in the ini file. - Data model – Stores calendars and address books as plain
.ics/.vcffiles in a hierarchical directory tree. The storage plugin is pluggable, allowing SQLite or custom backends. - Extensibility – A robust plugin API (hooks for authentication, storage, ACLs, and more) lets developers add new features or integrate with external services (e.g., LDAP, OAuth).
Technical Stack
- Language – Python 3.10+ (the latest release requires 3.7+; older releases are compatible with 2.7).
- Frameworks – Relies on the
wsgirefstandard library for WSGI handling; no heavy web framework is used, keeping dependencies minimal. - Storage – Default
filebackend uses the local filesystem; alternative storage plugins exist (e.g., SQLite, MySQL viasqlalchemy). - Testing – Uses
pytestandcoverage; continuous integration on GitHub Actions ensures 100 % test coverage.
Deployment & Infrastructure
Radicale can be run as a standalone WSGI application or behind any reverse proxy (NGINX, Apache). Its stateless design means multiple instances can be load‑balanced; each instance reads from the same shared filesystem or a networked storage backend. Docker images are available on Docker Hub, making containerized deployment trivial:
radicale:latest # official image with minimal config
For high‑availability, a shared NFS or cloud block storage is recommended to avoid data inconsistencies across replicas.
Integration & Extensibility
The plugin system follows a simple hook interface. Developers can write Python modules that expose auth, storage, or acl classes, then reference them in the configuration. Webhooks are supported via the webhook plugin, allowing external services to react to calendar events. Because Radicale exposes a standard WebDAV API, it can be paired with existing authentication providers (LDAP, OAuth2) using third‑party middleware.
Developer Experience
- Configuration – A single
radicale.conffile with clear sections ([server],[storage],[auth]) and extensive comments. No code changes required for most setups. - Documentation – Comprehensive online docs, a detailed wiki, and an active issue tracker. The API reference is concise but covers all hook points.
- Community – Active GitHub discussions, a dedicated mailing list, and frequent releases. Contributions are welcomed via pull requests; the codebase is intentionally small to lower the barrier for new contributors.
Use Cases
- Enterprise sync server – Deploy a self‑hosted CalDAV/CardDAV backend for an organization that wants full control over data, with LDAP authentication and TLS termination.
- Personal productivity stack – Run Radicale on a home NAS or Raspberry Pi, exposing calendars to iOS/Android devices without using cloud services.
- Developer sandbox – Use the Docker image in CI pipelines to test CalDAV/CardDAV clients against a real server.
- Custom integration – Extend Radicale with an OAuth2 plugin to allow single‑sign‑on for a web application that also needs calendar data.
Advantages
- Simplicity – No database schema migrations; data lives as files, making backups straightforward.
- Performance – Small memory footprint and fast I/O due to the lightweight WSGI stack.
- Flexibility – The plugin architecture allows almost any backend or authentication scheme without touching the core.
- Licensing – GPLv3 ensures that any derived work remains free, which is attractive for open‑source projects.
For developers looking to embed calendar and contact synchronization into their infrastructure without the overhead of a full‑blown enterprise server, Radicale offers an elegant balance between standards compliance, extensibility, and operational simplicity.
Open SourceReady to get started?
Join the community and start self-hosting Radicale today
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Explore More Apps
Quassel IRC
Distributed, cross‑platform IRC client with detachable core
BTCPay Server
Self‑hosted Bitcoin payment processor, zero fees, no middleman
ConvertX
Self-hosted file conversion for over a thousand formats
Operational
Real‑time event monitoring and alerting for startups
sigal
Self-hosted other

Trac
Integrated wiki, issue tracker, and version control for developers