41 lines
917 B
Nix
41 lines
917 B
Nix
{config, ...}: let
|
|
inherit (config.services.secrets) secrets;
|
|
in {
|
|
services.radicale = {
|
|
enable = true;
|
|
settings = {
|
|
server = {
|
|
hosts = ["127.0.0.1:5232"];
|
|
};
|
|
auth = {
|
|
type = "htpasswd";
|
|
htpasswd_filename = "${secrets.radicale_htpasswd.path}";
|
|
htpasswd_encryption = "bcrypt";
|
|
};
|
|
rights = {
|
|
type = "owner_only";
|
|
};
|
|
storage = {
|
|
filesystem_folder = "/var/lib/radicale/collections";
|
|
};
|
|
};
|
|
};
|
|
|
|
systemd.tmpfiles.rules = [
|
|
"d /var/lib/radicale - radicale radicale"
|
|
"d /var/lib/radicale/collections - radicale radicale"
|
|
];
|
|
|
|
users.users.radicale.uid = 1002;
|
|
users.groups.radicale.gid = 1002;
|
|
|
|
services.nginx = {
|
|
enable = true;
|
|
virtualHosts."radicale.owo.monster" = {
|
|
enableACME = true;
|
|
forceSSL = true;
|
|
locations."/".proxyPass = "http://127.0.0.1:5232";
|
|
};
|
|
};
|
|
}
|