EteSync vs Radicale: Encrypted vs Lightweight CalDAV
Unlike most CalDAV servers that store your calendar events and contacts as plain text on disk, EteSync encrypts everything end-to-end before it reaches the server. Radicale takes the opposite approach — maximum simplicity, minimum overhead, no encryption layer. The choice comes down to whether you trust your own server enough to skip encryption.
Quick Verdict
For most self-hosters running a server they control, Radicale wins on simplicity. It deploys in one container, uses 30 MB of RAM, needs no database, and works with every CalDAV client out there. EteSync is the right choice if you need zero-knowledge encryption — the server never sees your plaintext data — but that security comes with limited client support and a more complex stack.
Updated March 2026: Verified with latest Docker images and configurations.
Overview
Radicale is a Python-based CalDAV and CardDAV server that stores data as flat files. It works with any standard CalDAV/CardDAV client (Thunderbird, iOS, macOS, DAVx5, GNOME Calendar). No database, no external dependencies, minimal configuration.
EteSync (Etebase) is an end-to-end encrypted sync server for calendars, contacts, tasks, and notes. Built on Django, it uses its own protocol alongside CalDAV/CardDAV bridges. The server never has access to decrypted data — encryption keys live only on your devices.
Feature Comparison
| Feature | EteSync (Etebase) | Radicale |
|---|---|---|
| CalDAV support | Via bridge adapter | Native |
| CardDAV support | Via bridge adapter | Native |
| End-to-end encryption | Yes (zero-knowledge) | No (plaintext on disk) |
| Database | SQLite or PostgreSQL | None (flat files) |
| Docker services | 1-2 (server + optional PostgreSQL) | 1 |
| RAM usage (idle) | ~100-200 MB | ~30 MB |
| Client apps | EteSync apps + DAVx5 bridge | Any CalDAV/CardDAV client |
| Tasks/todo sync | Yes | Yes (VTODO) |
| Notes sync | Yes (encrypted notes) | No |
| Web UI | Yes (EteSync web client) | No (admin only) |
| Multi-user | Yes (user accounts) | Yes (htpasswd auth) |
| License | AGPL-3.0 | GPL-3.0 |
| Language | Python (Django) | Python |
| GitHub stars | 1,700+ | 3,300+ |
Installation Complexity
Radicale deploys as a single container with a data volume. No database, no configuration files required for basic usage. Default htpasswd authentication works out of the box.
# Radicale: 1 service
services:
radicale:
image: tomsquest/docker-radicale:3.6.1.0
ports:
- "5232:5232"
volumes:
- radicale_data:/data
EteSync (Etebase server) requires a configuration INI file, and for production you should add PostgreSQL. The server uses Django’s INI-based config instead of environment variables, and ALLOWED_HOSTS must be set correctly or requests get rejected.
# EteSync: 2 services (production)
services:
etebase:
image: victorrds/etebase:0.14.2
ports:
- "3735:3735"
volumes:
- etebase_data:/data
db:
image: postgres:16-alpine
Radicale is dramatically simpler to deploy and configure.
Performance and Resource Usage
| Resource | EteSync (Etebase) | Radicale |
|---|---|---|
| RAM (idle) | ~100-200 MB | ~30 MB |
| RAM (active) | ~200-400 MB | ~50 MB |
| CPU | Low | Minimal |
| Disk (application) | ~200 MB | ~50 MB |
| Minimum RAM | 512 MB | 64 MB |
Radicale is one of the lightest self-hosted services you can run. It stores data as .ics and .vcf files — no database overhead, no indexing, no background processes. EteSync’s Django framework and encryption layer add overhead, though it’s still modest compared to heavyweight alternatives like Nextcloud.
Community and Support
Radicale has a larger community (3,300+ GitHub stars) and works with the entire CalDAV/CardDAV ecosystem — any client that supports the standard protocols works. Documentation is straightforward. The project has been stable for years with occasional maintenance releases.
EteSync has a dedicated community (1,700+ GitHub stars) focused on privacy. The EteSync team maintains official apps for Android, iOS, web, and a DAVx5 bridge for standard CalDAV/CardDAV clients. Development has slowed since 2024 but the project is stable.
Use Cases
Choose Radicale If…
- You want the simplest possible calendar/contacts server
- You trust your own server’s disk security and don’t need encryption at rest
- You want compatibility with every CalDAV/CardDAV client (iOS, macOS, Thunderbird, GNOME)
- You’re running on minimal hardware (Raspberry Pi, low-RAM VPS)
- You prefer flat-file storage you can back up with
cporrsync
Choose EteSync If…
- End-to-end encryption is non-negotiable (the server never sees plaintext data)
- You want encrypted notes and task sync alongside calendars and contacts
- You’re comfortable using EteSync’s dedicated client apps or DAVx5 bridge
- You need a web interface for accessing calendars from any browser
- You run servers you don’t fully control (shared hosting, employer VPS)
Final Verdict
Radicale wins on simplicity, resource efficiency, and client compatibility. It’s the obvious choice for self-hosters who already secure their servers with SSH keys, firewalls, and encrypted disks. Adding an application-level encryption layer on top of that is redundant for most setups.
EteSync is the right tool when you genuinely need zero-knowledge encryption. If you’re syncing sensitive data through infrastructure you can’t fully trust, or if you want mathematical guarantees that a server compromise won’t expose your calendar data, EteSync delivers that. The trade-off is fewer client options and a more complex deployment.
FAQ
Can I use iOS Calendar directly with EteSync?
Not directly. You need the EteSync iOS app or configure DAVx5 (Android) / EteSync bridge to expose a standard CalDAV interface. Radicale works natively with iOS Calendar by adding a CalDAV account.
Does Radicale support encryption?
Radicale stores data as plaintext .ics and .vcf files on disk. You can encrypt the underlying filesystem (LUKS, ZFS encryption), but there’s no application-level encryption. Any admin with server access can read calendar events.
Can I migrate from Radicale to EteSync?
There’s no automated migration tool. You’d need to export calendars as .ics files from Radicale and import them through an EteSync client. Contacts (.vcf) work similarly. The migration is manual but straightforward for small collections.
Which handles more users better?
Both handle hundreds of users fine. Radicale’s flat-file approach starts showing performance issues around 10,000+ calendar entries per user. EteSync with PostgreSQL scales better for large datasets but needs more resources.
Related
Get self-hosting tips in your inbox
Get the Docker Compose configs, hardware picks, and setup shortcuts we don't put in articles. Weekly. No spam.
Comments