Radicale: Difference between revisions
Appearance
mNo edit summary |
m formatted code |
||
| Line 16: | Line 16: | ||
The default authentication mode is <code>denyall</code>. You can change it to <code>none</code> which just allows all usernames and passwords. The other option is to use an Apache htpasswd file for authentication. | The default authentication mode is <code>denyall</code>. You can change it to <code>none</code> which just allows all usernames and passwords. The other option is to use an Apache htpasswd file for authentication. | ||
{{File|name=radicale.nix|3={ config, ... }: { | |||
services.radicale = { | services.radicale = { | ||
enable = true; | |||
settings = { | |||
server.hosts = [ "0.0.0.0:5232" "[::]:5232" ]; | |||
auth = { | |||
type = "htpasswd"; | |||
htpasswd_filename = "/path/to/htpasswd/file/radicale_users"; | |||
# hash function used for passwords. May be `plain` if you don't want to hash the passwords | |||
htpasswd_encryption = "bcrypt"; | |||
}; | |||
}; | }; | ||
}; | }; | ||
} | }|lang=nix}} | ||
== Web Proxy examples == | == Web Proxy examples == | ||
Latest revision as of 18:39, 2 November 2026
Radicale is a Free and Open-Source CalDAV (calendars, todo-lists) and CardDAV (contacts) Server. For more information about Radicale itself, see https://radicale.org/.
This basic configuration will run the server. Note that you might want to allow the port (5232 in this case) on your firewall.
services.radicale = {
enable = true;
settings.server.hosts = [ "0.0.0.0:5232" ];
};
The settings is standard Radicale configuration, see https://radicale.org/v3.html#configuration.
Authentication
The default authentication mode is denyall. You can change it to none which just allows all usernames and passwords. The other option is to use an Apache htpasswd file for authentication.
❄︎ radicale.nix
{ config, ... }: {
services.radicale = {
enable = true;
settings = {
server.hosts = [ "0.0.0.0:5232" "[::]:5232" ];
auth = {
type = "htpasswd";
htpasswd_filename = "/path/to/htpasswd/file/radicale_users";
# hash function used for passwords. May be `plain` if you don't want to hash the passwords
htpasswd_encryption = "bcrypt";
};
};
};
}
Web Proxy examples
Caddy configured to proxy radicale in a subdirectory
caddy = {
enable = true;
extraConfig = ''
:80 {
redir /radicale /radicale/
handle /radicale/* {
uri strip_prefix /radicale
reverse_proxy localhost:5232 {
header_up X-Script-Name /radicale
header_up Authorization {header.Authorization}
}
}
}
'';
}
Nginx virtualhost location snippet configured to proxy radicale in a subdirectory
locations."/radicale/" = {
proxyPass = "http://127.0.0.1:5232/";
extraConfig = ''
proxy_set_header X-Script-Name /radicale;
proxy_pass_header Authorization;
'';
};