Davis vs Baikal: Which Should You Self-Host?
Quick Verdict
Davis and Baikal are built on the same foundation (sabre/dav) and provide nearly identical CalDAV/CardDAV functionality. Davis has a more modern web dashboard and supports LDAP/IMAP authentication. Baikal is more mature and widely deployed. For most self-hosters, either works — pick Davis if you need LDAP, pick Baikal if you want the most battle-tested option.
Overview
Both Davis and Baikal are PHP-based CalDAV/CardDAV servers that use the sabre/dav library under the hood. They provide the same core protocol support with different administration interfaces and authentication options.
Davis is a Symfony-based application that wraps sabre/dav with a modern admin dashboard, LDAP/IMAP authentication support, and database migration tooling.
Baikal is one of the oldest and most established self-hosted CalDAV/CardDAV servers. It provides a simpler admin interface and uses SQLite or MySQL for storage. It has been a default recommendation in the self-hosting community for years.
Feature Comparison
| Feature | Davis | Baikal |
|---|---|---|
| CalDAV (calendars) | Yes | Yes |
| CardDAV (contacts) | Yes | Yes |
| Underlying library | sabre/dav | sabre/dav |
| Web admin dashboard | Yes — modern UI | Yes — functional but dated |
| User management | Web UI + database | Web UI + database |
| Authentication | Internal, LDAP, IMAP | Internal only |
| Database backend | MySQL, PostgreSQL, SQLite | SQLite, MySQL |
| PostgreSQL support | Yes | No |
| Calendar subscriptions | Yes | Yes |
| CalDAV scheduling (iTIP) | Yes | Yes |
| Framework | Symfony | Custom PHP |
| Docker image | ghcr.io/tchapi/davis-standalone | ckulka/baikal |
| License | MIT | GPL-3.0 |
Installation Complexity
Davis requires running a database migration (bin/console doctrine:migrations:migrate) on first setup. It uses Symfony’s configuration system with environment variables. With MariaDB/PostgreSQL, the Compose file includes two services.
Baikal has a web-based setup wizard — you deploy the container, open the browser, and follow the wizard. No CLI commands needed. With SQLite, it’s a single container. The setup experience is more polished for beginners.
Baikal has a slightly easier first-run experience. Davis requires one extra CLI step.
Performance and Resource Usage
| Resource | Davis | Baikal |
|---|---|---|
| RAM | ~50-100 MB (with database) | ~30-60 MB (with SQLite) |
| CPU | Minimal | Minimal |
| Disk | ~200 MB | ~100 MB |
Both are extremely lightweight. CalDAV/CardDAV operations are infrequent (sync happens every few minutes at most), so neither will consume meaningful resources.
Community and Support
Davis is a smaller project (~300+ GitHub stars) with focused, active development. Documentation covers the essentials.
Baikal is well-established (~2.5K+ GitHub stars) with years of production use across the self-hosting community. It’s one of the most recommended CalDAV/CardDAV servers. Documentation is solid and community knowledge is extensive.
Baikal has the larger community and longer track record.
Use Cases
Choose Davis If…
- You need LDAP or IMAP authentication (integrate with existing user directory)
- You want PostgreSQL support
- You prefer a more modern admin dashboard
- You’re deploying in an environment with Symfony/PHP tooling
- You need to manage users programmatically (CLI + migrations)
Choose Baikal If…
- You want the most battle-tested CalDAV/CardDAV server
- You prefer a web-based setup wizard with no CLI required
- SQLite storage is sufficient (simplest backup — one file)
- You want the larger community and more third-party guides
- Internal authentication (username/password) is sufficient
Final Verdict
For most self-hosters syncing calendars and contacts across devices, Baikal is the safer choice — it’s been running reliably for years, has a larger community, and the web-based setup wizard makes first-run painless. The SQLite option means truly zero-dependency deployment.
Choose Davis specifically if you need LDAP/IMAP authentication (for example, integrating with an existing user directory like Authentik or Active Directory) or if you need PostgreSQL. These are the only meaningful differentiators — the core CalDAV/CardDAV functionality is identical since both use sabre/dav.
For the absolute simplest option in this category, also consider Radicale — no web dashboard, but a 20 MB Python process with file-based storage.
Related
- How to Self-Host Davis — full setup guide
- How to Self-Host Baikal — full setup guide
- How to Self-Host Radicale — minimal CalDAV/CardDAV
- Davis vs Radicale — web UI vs minimal
- Radicale vs Baikal — minimal vs web UI
- Best Self-Hosted Calendar & Contacts — full category roundup
Get self-hosting tips in your inbox
New guides, comparisons, and setup tutorials — delivered weekly. No spam.