Jump to content

# Radicale

1 language

- 日本語

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 Radicale 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 documentation:

    /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, accessible at `localhost:5232` with any username and password), 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, particularly the officially supported.

The following list may or may not be accurate:

- Thunderbird
  - To add calendars, on the calendar view click on "New Calendar" -> On the network, in the location field add the root address radicale is listening to, for instance `http://localhost:5232`, not the address of a single calendar, and Thunderbird will automatically discover all the calendars shared by radicale
- GNOME/Evolution, Contacts and Calendar
- KOrganizer (korganizer)
- InfCloud (infcloudAUR), CalDavZAP, CardDavMATE
- syncEvolution (syncevolutionAUR)
- DAVx⁵, Infomaniak kSync, Simple Contacts Pro SE for Android (ICSx⁵ will also works for single calendars, but DAVx⁵ is highly recommended over it for full experience, as will automatically detect all calendars and addressbooks that radicale exposes).
- 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]

## See also

- Project Website

Category:

- WebDAV