Radicale: The No-Fuss CalDAV/CardDAV Server That Just Works
Setting up your own calendar or contact sync server usually means diving into a swamp of configuration files, dependencies, and cryptic error messages. But what if you just want a small, self-hosted CalDAV and CardDAV server that works out of the box?
Meet Radicale.
It's a tiny Python server that speaks CalDAV (for calendars) and CardDAV (for contacts). No database setup, no web server config, no wizardry. You run it, point your clients at it, and you're done. It's the kind of tool that makes you wonder why everything else is so complicated.
What It Does
Radicale is a standalone server that lets you sync calendars and contacts across your devices using open standards. You throw it on a machine, give it a directory to store data, and then connect your phone, laptop, or desktop client (like Thunderbird, Apple Calendar, or DAVx5) to it.
Under the hood, it's just a Python application using a built-in HTTP server. It stores events and contacts as simple files (iCal and vCard formats) in a folder on disk. No SQLite, no PostgreSQL, no MongoDB. Just files.
Why It's Cool
A few things make Radicale stand out in the sea of self-hosted options:
- Zero configuration by default. Install it, run it, and it works. You can add authentication later if you want, but you don't need it to get started.
- Minimal dependencies. It's one Python package. You don't need a web server, a database, or a queue system.
- Runs anywhere. Python is everywhere. Raspberry Pi, old laptop, VPS, even a Docker container if that's your thing.
- Supports multiple backends. By default it uses the filesystem, but it can also store data in a database (via an optional plugin).
- Encryption built-in. You can enable SSL/TLS with your own certs without any reverse proxy trickery.
- Multi-user by design. You can run it for your whole family or team with simple authentication.
The biggest win? You don't need to learn a complex configuration language. It's a single .ini file you can edit in 30 seconds.
How to Try It
Getting started is embarrassingly simple. Open a terminal and run:
pip install radicale
radicale
That's it. Your server is now running on http://localhost:5232. Open that in a browser, and you'll see a basic web interface.
Want to make it persistent? Create a config file:
[server]
hosts = 0.0.0.0:5232
[auth]
type = none
[storage]
filesystem_folder = ~/.radicale/collections
Save it as config and run:
radicale --config config
Now point your CalDAV/CardDAV client at http://<your-ip>:5232/ and start syncing. No usernames, no passwords (until you add them).
For Docker users, there's an official image:
docker run -p 5232:5232 tomsquest/docker-radicale
Final Thoughts
Radicale isn't trying to be the most feature-rich calendar server out there. It's not trying to compete with systems like Baïkal or Nextcloud's calendar integration. What it does is give you a rock-solid, minimal CalDAV/CardDAV server that you can set up in under a minute and forget about.
If you're a developer who just wants sync without the admin overhead, or someone self-hosting services on a low-power device, this is the tool you've been looking for. It's the Unix philosophy applied to calendar servers: do one thing, do it well, and stay out of the way.
Give it a spin. You might end up replacing that bloated setup you've been wrestling with.
Found on @githubprojects