Radicale: Difference between revisions
Appearance
No edit summary |
m formatted code |
||
| (One intermediate revision by one other user not shown) | |||
| Line 14: | Line 14: | ||
== Authentication == | == Authentication == | ||
The default authentication mode is <code> | 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;
'';
};