Carddav (Radicale Contacts) Integration with Roundcube

FBX comes with a fantastic caldav / carddav server: radicale.
I’ve been doing some online searching and as there are various mobile / pc clients for caldav/carddav, I’ve found no viable solutions for a foss web-client (apart from InfCloud that comes with an outdated ux not adaptive to mobile screens).

Roundcube has a variety of third party plugins. One popular among them (specifically for carddav) is the roundcube/carddav plugin. With this, I have been able to integrate my radicale address-books into roundcube and have been able to view, edit contacts and use it to pick recipients for my mail.

Please note that this plugin is not a part of the Debian repo and is a third party plugin developed for roundcube. Although it seems to work, I have not fully tested it and do not know the outcomes it may introduce to your FBX. So, make sure to read the documentation in the plugins git repo and feel free to follow this post at your own risk.

Below, I’m sharing the steps I followed to get the carddav plugin working with roundcube.


FBX Version: Debian GNU/Linux 12 (bookworm) and FreedomBox version 24.5

STEP 1: Be sure to log out of all roundcube instances. Download and extract the plugin from its repository into the FBX roundcube plugins folder.

The below commands are for the latest release from the plugin repo. Please revise the version number to what’s relevant and take care to download only the precompiled .tar.gz (not source code).

cd /usr/share/roundcube/plugins
sudo wget https://github.com/mstilkerich/rcmcarddav/releases/download/v5.1.0/carddav-v5.1.0.tar.gz
sudo tar -xzvf carddav-v5.1.0.tar.gz
sudo rm carddav-v5.1.0.tar.gz

STEP 2: Create a valid copy of the default configuration file. There is no need to make any changes to the default configuration, it works as is.

cd /usr/share/roundcube/plugins/carddav
sudo cp config.inc.php.dist config.inc.php

STEP 3: Create a symbolic link to the plugins folder at /var/lib/roundcube/plugins

sudo ln -s /usr/share/roundcube/plugins/carddav/ /var/lib/roundcube/plugins/carddav 

STEP 4: Edit the roundcube configuration file with sudo nano /var/lib/roundcube/config/config.inc.php and add carddav to active plugins as shown below:

 // List of active plugins (in plugins/ directory)
// Debian: install roundcube-plugins first to have any
$config['plugins'] = [
'carddav',
    // 'archive',
    // 'zipdownload',
];

STEP 5: Login to roundcube and go to settings where you should find
CardDAV in the list. Select it and hit add from the upper right hand menu. Provide a name for your account (i.e. radicale, freedombox, etc) and write down your radicale url (i.e. https://myfreedombox.com/radicale/myuser) with your FBX credentials. Other default values seem as they should be so no need to change anything.

Once you hit save, roundcube will sync with your carddav server and bring up all your addressbooks. The initial sync takes a little time depending on the amount of data you have but once it’s done, it works pretty well.

Good luck!

2 Likes

Thank you so much for sharing this guide! The combination of a self-hosted email server and web client is indeed a fantastic match for community-driven projects. The added functionality of integrating and managing self-hosted contact lists directly within the web client is an exceptional feature. It aligns well with what users have come to expect from mainstream web email services like Gmail or Outlook, making the transition to a self-hosted solution smoother and more appealing.

Your contribution is greatly valued, and I’m sure it will benefit many in the community. Thank you again for your efforts and for making this information accessible!

1 Like

Thanks @fefekrzr for the kind words.
Apparently there also exists a caldav plugin. If maybe one day we can get that integrated as well, we’ll have an even closer match to the online mail services out there.

For any FBX devs that may come across this post; please note that the carddav configuration file can be adjusted to address the radicale adress-books. If one day the plugin gets into the debian repos, it can easily be preconfigured so that users may not need to login to radicale and just use the roundcube interface to create their databases.

1 Like