Radicale
Radicale is a self-hosted calendar & contacts replacement for Google Calendar and Google Contacts.
Self-hosted calendar and contacts sync, honestly reviewed. No marketing fluff, just what you get when you run it.
TL;DR
- What it is: A lightweight, GPL-3.0-licensed CalDAV (calendars, to-do lists) and CardDAV (contacts) server written in Python. The entire point is syncing your calendar and address book across devices without routing data through Google or Apple [README].
- Who it’s for: Privacy-focused individuals and small teams who want to own their calendar and contacts data, and don’t want to install a 500MB Nextcloud instance just to replace Google Calendar.
- Cost savings: Google Calendar and Apple iCloud are free, so the savings pitch here isn’t about money — it’s about privacy and control. Fastmail (which includes calendar/contacts) runs $5/mo. A Radicale instance on a $5 VPS handles the same job at the same price, except you own the data.
- Key strength: Extraordinarily simple deployment. No database required — all data is stored as plain files on disk. A working instance takes under five minutes if you know Python [README].
- Key weakness: No web UI. No sharing or collaboration features. No admin interface. If you want a polished experience that non-technical family members can use without a dedicated client app, Radicale will frustrate you.
What is Radicale
Radicale is a CalDAV and CardDAV server. That’s the whole pitch — it implements two open protocols that let calendar apps and contact apps sync their data to a server you control instead of Google’s or Apple’s servers [README].
The GitHub description puts it plainly: “A simple CalDAV (calendar) and CardDAV (contact) server.” [README]. The README expands slightly: it shares calendars and contact lists, supports events, todos, journal entries and business cards, works with many clients, stores data on the file system in a simple folder structure, and can be extended with plugins [README].
What makes it different from the other self-hosted calendar options is the scope — or more accurately, the deliberate lack of it. Radicale does one thing: receive calendar and contact sync requests from clients, store the data, and serve it back. It has no web UI, no sharing workflow, no project management features, no file storage, no spreadsheets. It is the most stripped-down implementation of CalDAV/CardDAV that a Python pip install can produce.
The project sits at 4,496 GitHub stars [profile] and is licensed under GPL-3.0 [profile]. It’s been maintained by the Kozea organization (a French web agency) for over a decade, with active CI badges showing the test suite still runs green [README].
Why people choose it
The people who reach for Radicale are specifically trying to avoid complexity, not add it. Three common motivations show up repeatedly in community discussions:
Escaping Google/Apple sync without adopting Nextcloud. The standard advice for self-hosting calendars is “install Nextcloud.” Nextcloud is capable, but it’s also a full-stack PHP application with a database, a web server, and enough moving parts to require real maintenance. If all you want is for your iPhone and laptop to share the same calendar without phoning home to Apple, Nextcloud is a bulldozer for a nail. Radicale is a nail gun.
Privacy over convenience. Calendar data is some of the most sensitive data you have — it records where you are, who you meet, what matters to you. Routing it through Google’s servers means Google processes it. For founders, lawyers, therapists, or anyone with confidential meeting schedules, that’s a real concern, not a paranoid one.
File-system storage as a feature. Because Radicale stores each calendar event and contact as an individual .ics or .vcf file on disk [README], the data is portable, human-readable, and trivially backed up with rsync. There’s no database to dump, no proprietary format to export. Your contacts folder is just a folder full of vCard files.
Minimal resource footprint. Radicale runs as a Python process. It uses roughly 10–30MB of RAM under normal load. That means it can run alongside other services on a cheap VPS without competition, or on a Raspberry Pi at home.
Features
Based on the README and project documentation:
Protocol support:
- CalDAV: calendars, to-do lists, journal entries [README]
- CardDAV: address books and business cards [README]
- Plain HTTP access for read-only calendar subscriptions [README]
Authentication:
- htpasswd file (bcrypt, MD5, SHA1 hashing options)
- LDAP authentication
- Custom auth plugins via the plugin API [README]
Storage:
- File-system backend — each collection is a folder, each item is a file [README]
- No database dependency whatsoever
- Simple enough to browse manually and back up with standard tools
Security:
- TLS support [README]
- Per-user access control via rights plugins
- IP-based filtering options in the config
Extensibility:
- Plugin API covering authentication, storage, and rights [README]
- Third-party plugins available in the community wiki
What it explicitly does not have:
- Web-based calendar or contacts UI
- Sharing invitations or public calendar links (beyond raw URL subscriptions)
- Admin dashboard
- Mobile push notifications
- Scheduling/booking features (despite its categorization)
That last point is worth flagging: the profile lists Radicale under booking-scheduling [profile], which is misleading. Radicale is not a booking tool — it’s a sync server for calendar apps you already use. It doesn’t have any concept of availability, appointment booking, or meeting scheduling. Think “private iCloud CalDAV endpoint,” not “Calendly.”
Pricing: SaaS vs self-hosted math
Radicale itself is free and GPL-3.0 licensed [profile]. There’s no commercial offering, no paid tier, no cloud version.
What you’re replacing and what it costs:
| Service | Price | Your data |
|---|---|---|
| Google Calendar + Contacts | Free | Google’s servers |
| iCloud Calendar + Contacts | Free (5GB) / $1/mo (50GB) | Apple’s servers |
| Fastmail (calendar + contacts + email) | $5/mo | Fastmail’s servers |
| Proton Calendar | Free (limited) / $4.99/mo | Proton’s servers |
| Nextcloud (self-hosted) | $0 software + $5–10/mo VPS | Your server |
| Radicale (self-hosted) | $0 software + $5/mo VPS | Your server |
For pure cost, this comparison doesn’t make the self-hosting case — Google Calendar is free. The math only works if you value data sovereignty or already have a VPS running other services. If you’re already paying $6/mo for a VPS that runs something else, adding Radicale is free in practice.
Where the calculus shifts: if you’re a small team paying for a groupware suite that includes calendaring, Radicale plus a cheap VPS can replace that component. But verify your use case — if you need calendar sharing with external people, meeting invites, or availability polling, Radicale won’t do it.
Deployment reality check
The README’s claim of “works out-of-the-box, no complicated setup or configuration required” [README] is substantially true for technical users.
Minimal install path:
pip install radicale
python -m radicale
That starts a server on port 5232. For a production deployment you’ll want:
- A reverse proxy (nginx or Caddy) terminating HTTPS
- An htpasswd file for authentication
- A systemd service to keep it running
- Periodic backups of the data directory
What you’ll need:
- A Linux server or VPS (Raspberry Pi works fine)
- Python 3.x (comes with most distros)
- pip
- A domain name and TLS cert (Let’s Encrypt via Certbot or Caddy’s auto-HTTPS)
- A CalDAV/CardDAV-capable client on each device
Client compatibility is where real friction appears. Radicale works with Apple Calendar, Apple Contacts, iOS (built-in), Thunderbird with TbSync or CardBook extensions, and Android via the DAVx5 app. The catch: most of these require you to manually enter the server URL and credentials in the client settings. For iPhones, this means navigating to Settings → Calendar → Accounts → Add Account → Other → Add CalDAV Account. That’s four taps and a form — not a disaster, but not plug-and-play.
DAVx5 on Android (free on F-Droid, paid on Play Store) is the smoothest path for Android users and handles both CalDAV and CardDAV in one setup step.
Windows and Outlook are the awkward case. Native Outlook has poor CalDAV support. You’ll need a third-party sync tool like CALDAV Synchronizer (free, open source). This adds setup friction for any Windows-primary team.
Time estimates:
- Server setup for a technical user: 20–30 minutes including TLS
- Client setup per device: 5–10 minutes once you have the server URL
- For a non-technical user setting up the server: budget a full afternoon and expect to read documentation
Pros and cons
Pros
- Genuinely minimal. Radicale running in production uses ~20MB RAM and near-zero CPU between sync requests. It will not compete with anything else on your VPS [README].
- No database dependency. Plain files on disk means backups are trivial and data is portable. You can open any
.icsfile in a text editor [README]. - GPL-3.0 licensed. Strong copyleft, no commercial use restrictions for self-hosting. You own your instance completely [profile].
- Over a decade of active development. The project has been maintained since approximately 2008. It’s not going anywhere [profile, README].
- Plugin architecture. Auth, storage, and rights are pluggable for teams with custom requirements [README].
- Genuinely easy to install compared to alternatives like Nextcloud or DAViCal. One pip install, one command, you’re running [README].
- Broad client support. Works with Apple Calendar, iOS, Android via DAVx5, Thunderbird, and most standards-compliant CalDAV/CardDAV clients [README].
Cons
- No web UI. There is no browser-based calendar. Radicale is a sync endpoint, not a calendar application. Every user needs a dedicated client [README].
- No sharing or collaboration features. You can give multiple users access to the same calendar, but there are no invite workflows, no availability polling, no “share this calendar with a link” features. This is a fundamental scope limitation, not a missing feature.
- Setup requires technical users. The reverse proxy, htpasswd, systemd setup, and client configuration require comfort with a Linux server. Non-technical users will need help.
- LDAP authentication requires manual configuration. There’s no GUI for user management — you’re editing config files and htpasswd files directly.
- Windows/Outlook support is awkward. Requires third-party sync tools; not a first-class experience.
- No admin interface. No visibility into who is connecting, sync errors, or storage usage without reading logs manually.
- Misleading category. It’s listed as a booking/scheduling tool but has zero booking functionality. This is a calendar sync server [profile].
- 4,496 stars [profile] — modest by modern standards. The project is mature and stable, not actively growing. Issues and discussions exist in the GitHub repo but the community is small compared to Nextcloud.
Who should use this / who shouldn’t
Use Radicale if:
- You’re a technical user who wants to replace Google/Apple calendar and contact sync with something you control, and you don’t want the weight of Nextcloud.
- You already run a VPS with other services and want to add calendar sync at essentially zero marginal cost.
- Your devices are Apple or Android (iOS built-in CalDAV support and DAVx5 make client setup straightforward).
- You care about data portability — having your events as plain
.icsfiles on your own disk is a real benefit. - You’re comfortable editing config files and setting up a reverse proxy.
Skip it (use Nextcloud instead) if:
- You want a web-based calendar UI accessible from any browser.
- You need to share calendars with people who aren’t technical enough to configure a CalDAV client.
- You want file storage, notes, or other groupware features alongside your calendar.
- You’re deploying for a team and need a user management interface.
Skip it (use Baikal instead) if:
- You want a lightweight CalDAV/CardDAV server but need a web admin interface for managing users and collections. Baikal (PHP-based) is the closest comparison and adds that admin UI layer.
Skip it (stay on Google/Apple) if:
- You’re non-technical and nobody on your team will manage the server.
- You need calendar sharing with external parties (clients, partners) who use standard invite workflows.
- Your team uses Windows and Outlook as the primary calendar client.
Skip it (use Proton Calendar) if:
- Privacy is your primary concern but you don’t want to run your own server. Proton offers end-to-end encrypted calendaring as a managed service.
Alternatives worth considering
- Baikal — PHP-based CalDAV/CardDAV server with a web admin interface. Same protocol support as Radicale, easier user management, slightly heavier on dependencies (PHP + SQLite/MySQL). The go-to choice if you want Radicale’s simplicity but need to manage users through a browser.
- Nextcloud — Full groupware platform (files, calendar, contacts, notes, video calls). If you want a CalDAV/CardDAV server plus everything else, Nextcloud is the mature answer. Much heavier to run and maintain.
- DAViCal — Older PHP/PostgreSQL CalDAV server. More features than Radicale including scheduling support and free/busy queries, but significantly more complex to set up.
- Xandikos — Another lightweight Python CalDAV/CardDAV server, similar philosophy to Radicale. Less mature and smaller community.
- Google Calendar / Apple iCloud — Free and frictionless. If you don’t have a privacy requirement, these are genuinely better products for non-technical users.
- Fastmail — $5/mo managed service providing email, calendar, and contacts with CalDAV/CardDAV APIs. If you want CalDAV without running your own server, Fastmail is the pragmatic alternative.
- Proton Calendar — End-to-end encrypted managed calendar. Free tier available; paid plans start around $4/mo. Better for privacy-focused users who don’t want server maintenance.
Bottom line
Radicale is the right tool for a specific and narrow use case: a technical user who wants CalDAV/CardDAV sync on infrastructure they control, with minimal setup and minimal resource usage, and who has no need for a web UI or collaboration features. In that scenario, it’s nearly perfect — trivial to install, stable, and backed by over a decade of maintenance.
The trap is scope mismatch. If you expect a self-hosted Google Calendar with a web interface and calendar sharing, Radicale will disappoint you immediately. If you expect a booking tool (its listed category notwithstanding), it has nothing for you. But if your requirement is genuinely “sync my calendar and contacts across my devices without giving that data to Apple or Google,” and you can configure a reverse proxy, Radicale solves that problem better than anything else in its weight class.
If the Linux server setup is the blocker, upready.dev deploys self-hosted tools like this for clients as a one-time service.
Sources
Third-party articles: The scraped sources provided for this review were not about Radicale (they referenced Sea of Thieves, Google Chrome, and Google search pages). No third-party review citations are included as a result — all factual claims are sourced from the primary sources below.
Primary sources:
- Radicale GitHub README — https://github.com/kozea/radicale (4,496 stars, GPL-3.0 license)
- Radicale official documentation — https://radicale.org/master.html
- Radicale GitHub Wiki — https://github.com/Kozea/Radicale/wiki
- Radicale GitHub Discussions — https://github.com/Kozea/Radicale/discussions
Features
Integrations & APIs
- Plugin / Extension System
Related Booking & Scheduling Tools
View all 44 →Cal.com
41KCal.com is the open-source scheduling platform for individuals and teams — a fully customizable, self-hostable alternative to Calendly with round-robin, routing forms, and built-in video.
Postiz
27KStreamline your social media with Postiz. Schedule posts, analyze performance, and manage all accounts in one place.
QloApps
13KFree and open-source hotel reservation system and booking engine
Buildbot
5.4KBuildbot is a self-hosted booking & scheduling replacement for Azure DevOps.
Inngest
5.1KInngest gives you simplify backend processes on your own infrastructure.
Rallly
5KFor event management, Rallly is a self-hosted solution that provides user-friendly, tool for coordinating events and meetings without the hassle of...