2020-06-10 Radicale for Calendar and Contacts
So, in an attempt to further degoogle my life, I installed Radicale. Itās a small but powerful CalDAV (calendars, to-do lists) and CardDAV (contacts) server written in Python. It comes with Debian.
Sadly, things arenāt as smooth as I would want them.
The first problem was that authentication via Apache didnāt work. It was weird. When I didnāt have the password file, Apache complained. When I had it, with a user and a password, Apache would let me in but Iād get to the Radicale login box, and there no login worked.
I guess what happened is that somehow Radicale either did not receive the username from Apache, or looked it up and didnāt find it, so I donāt know.
I decided to use Radicale directly, based on the page on the Debian Wiki. That seemed to work.
The second problem is that I could add the CalDAV and CardDAV accounts to my iOS device, but when I used the Contacts or Calendar app, these new accounts still did not show up. All I got is my work account (Exchange) and Gmail. None of that self-hosted stuff.
OK, next morning, checking the debug log, I see some activity from my iOS devices ā and Calendar integration seems to work! When I set it up, I used `https://example.org/radicale/` and that allowed me to set it up but not to use it. Then I tried `https://example.org/radicale/alex` and that seems to be working, with `alex` being my username, or my collection name, or both. Oh dear.
The documentation has the following to say:
Many clients do not support the creation of new calendars and address books. You can use Radicaleās web interface (e.g. `http://localhost:5232`) to create and manage address books and calendars.
In some clients you can just enter the URL of the Radicale server (e.g. `http://localhost:5232`) and your user name. In others, you have to enter the URL of the collection directly (e.g. `http://localhost:5232/user/calendar10min`).
So now I can choose my new calendar in the Calendar app.
It still doesnāt seem to work for Contacts, though. But to be honest, I donāt think I need those as much. Iāve had a text file with ten addresses for a year or twoā¦
Iāll keep looking for the correct setup info.
ā#Administration ā#Radicale
Comments
(Please contact me if you want to remove your comment.)
ā
Iāve been using Radicale instead of iCould on my iDevices as well - I can confirm that the collection URL setup worked for both contacts and calendars.
Creating repeating events on Radicale calendar is one of the things that I have varying degrees of success depending on the client I use: it works fine on iOS, but rather finicky in evolution seemingly due to part of CalDav spec being unimplemented.
ā shimmy1996 2020-06-10 12:24 UTC
---
Ah! Thereās hope! Thank you. š
ā Alex Schroeder 2020-06-10 16:24 UTC
---
**2020-06-10**. After what feels like endless re-configuring, trying to get the right URL, the right account, waiting before trying to save, setting the port again, setting https again, and on and on... it finally worked! š
**2020-07-03**. When I added a second user to radicale, I was unable to log in.
But `tail /var/log/radicale/radicale.log` says:
Ah! `grep encrypt /etc/radicale/config` says:
So now I wonder what `htpasswd` uses... Hereās what `htpasswd --help 2>&1 | grep encrypt` says:
I guess I forgot the -B option! Going to retry with `htpasswd -B /etc/radicale/users somebody`. Now it works! š
**2021-09-10**. I recently upgraded Debian and radicale did not restart. Iāve added the following configuration to my Monit config:
**2022-07-02**. Important to note:
1. The Radicale web interface offers links to the ICS files which you cannot use in the Apple world.
2. Once you have set up the CalDAV account in the Apple world, new collections show up automatically, with a delay.
**2022-09-30**. When setting up a new account:
- In Settings ā Calendar ā Accounts ā Add Account ā Other ā Add CalDAV Account
- Server: alexschroeder.ch
- Username: alex
- Password: *secret*
- Description: Alex
The connection fails. Continue without SSL. It still fails. Now you get the option to provide āAdvanced Settingsā.
- Use SSL: on
- Port: 443
- Account URL: https://alexschroeder.ch/radicale/alex/
https://alexschroeder.ch/radicale/alex/
The account ends with the username and a slash.
If you set it up this way, the calendar gets populated immediately, as far as I can tell.
**2022-10-21**. Not sure why this was necessary. It turns out my wife had to delete and recreate the calendar definition on her iPhone, too. As if the recent upgrade to 15.7 necessitated some change.
I tried to fix that using a radicale upgrade (installed it in /usr/local using pypi).
**2024-07-24**. I'm still using radicale. It works for us! Today I found the following on the `vdirsyncer` man page:
Radicale is a very lightweight server, however, it intentionally doesn't implement the CalDAV and CardDAV standards completely, which might lead to issues even with very well-written clients. Apart from its non-conformity with standards, there are multiple other problems with its code quality and the way it is maintained. Consider using e.g. Xandikos instead.
Oof!
**2025-07-12**. I just realized that I installed radicale 3.1.8 using pip and Debian bookworm has radicale 3.1.8, too. Time to uninstall the copy in `/usr/local` and get the same one via `apt`. Or ⦠did I have the version via `apt` installed and installed an additional copy via `pip` on top of it? Well, I just cleared out a lot of stuff from `/usr/local` and I'm hoping stuff still works. š