Jump to content
From ArchWiki

Related articles

- DAViCal
- AgenDAV

Radicale is a server designed to support the CalDav and CardDav protocols. It operates either as a standalone package using its own internal http server or can be integrated with an existing webserver.

## Installation

Install the radicale package.

The package creates the `radicale` user and service as per the Radical systemd instructions, along with the `/var/lib/radicale/collections` data folder, so you can just enable `radicale.service`.

## Configuration

The easiest thing is to follow the instructions at the Radicale website.

The main configuration file is located at `/etc/radicale/config`

If this is setup on a remote / headless system, consider adding the `hosts` option to enable remote access to the built-in web interface.

Many of the configuration options can be changed on the command-line:

    $ radicale --help

### Authentication

By default, anyone can access the web interface and create address books or calendars, so authentication should be considered.

Authentication is controlled by `/etc/radicale/users` which can use Apache httpasswd formatted passwords (as well as plaintext & other options). If you are not planning to install Apache HTTP Server, you can just use an online htpasswd generator to generate the `user:password` hashes.

### Non-default Storage Location

By default, the Radicale package comes configured to store data in `/var/lib/radicale/collections`. If you want to change this you can specify another location in the configuration file but you must also adjust the systemd configuration. The included `radicale.service` file sets `ProtectSystem=strict` which means systemd won't allow the service read-write access to any area outside `/var/lib/radicale/`. To get around this create a drop-in file with the following contents:

    /etc/systemd/system/radicale.service.d/override.conf

    [Service]
    ReadWritePaths=/path/to/storage

You can now tell Radicale to use your chosen location by editing the config file as in the Radicale documentaion:

    /etc/radicale/config

    [storage]
    filesystem_folder = /path/to/storage

Changing `/path/to/storage` in both files to your chosen location.

## Integration

### Mail Servers

If you run a mail server the radicale-imap-gitAUR or radicale-dovecot-authAUR IMAP authentication plugins may be useful. If you use radicale-dovecot-auth with UNIX sockets, create a `radicale.service` drop-in file with the following contents:

    [Service]
    RestrictAddressFamilies=
    RestrictAddressFamilies=~AF_PACKET AF_NETLINK

This allows the process to open `AF_UNIX` sockets.

### Web Servers

Radicale provides its own web server (initially restricted to `localhost` only), but it can be integrated with HTTP webservers like Apache HTTP Server via Reverse Proxy or the WSGI interface.

## Client support

Since it uses the CalDav and CardDav protocols, it should support most clients. Currently, the officially supported list is this.

The following list may or may not be accurate:

- Thunderbird Lightning extension and Cardbook
- GNOME/Evolution, Contacts and Calendar
- KOrganizer korganizer
- InfCloud infcloudAUR, CalDavZAP, CardDavMATE
- syncEvolution syncevolutionAUR
- aCal, ContactSync, CalendarSync, CalDAV-Sync CardDAV-Sync and DAVx⁵ for Android
- Mac OSX Calendar/Contacts
- Apple iOS
  - Note that iOS requires a SSL in order to sync CalDAV/CarDAV (as of iOS14 self-signed SSL is sufficient for Radicale to integrate as an account) [1], this can be created by following the instructions in OpenSSL#Generate a self-signed certificate with private key in a single command.
    - Note also that key sizes must be greater than 2048 bits [2]

## Troubleshooting

### DecSync plugin fails

If you use the python-radicale-decsyncAUR plugin and it errors with

    Failed to load storage module 'radicale_storage_decsync': libcrypt.so.1

install the libxcrypt-compat package.

## See also

- Project Website radicale.org

Category:

- WebDAV