Radicale

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 hashes.

Integration

Mail Servers

If you run a mail server the or 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 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:

Troubleshooting

DecSync plugin fails

If you use the plugin and it errors with install the package.

gollark: Better shut it down!
gollark: Yep, that's what I wrote.
gollark: (you can probably just get away with copying the one for something else like `gps.locate` and editing the values)
gollark: Er, there's a template for functions.
gollark: Then why even have a reddit account?

See also

This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.