This commit is contained in:
2026-06-23 21:23:35 +02:00
parent 2626e9fe32
commit d135a15bcd
38 changed files with 354 additions and 876 deletions
+22 -48
View File
@@ -1,56 +1,30 @@
{ config, ... }:
let
repo = config.repo;
repoHelpers = repo.helpers;
service = repo.services.radicale;
service = config.facts.services.radicale;
in
{
repo.services.radicale = {
domain = "radicale.jelles.net";
host = "127.0.0.1";
port = 5232;
url = "https://radicale.jelles.net/";
};
flake.modules.nixos.radicale = {
services.radicale = {
enable = true;
settings = {
server.hosts = [ "${service.host}:${toString service.port}" ];
flake.modules.nixos.radicale =
{ lib, ... }:
lib.mkMerge [
{
services.radicale = {
enable = true;
settings = {
server.hosts = [ "${service.host}:${toString service.port}" ];
auth = {
type = "htpasswd";
htpasswd_filename = "/var/lib/radicale/users";
htpasswd_encryption = "bcrypt";
};
storage.filesystem_folder = "/var/lib/radicale/collections";
};
auth = {
type = "htpasswd";
htpasswd_filename = "/var/lib/radicale/users";
htpasswd_encryption = "bcrypt";
};
}
(repoHelpers.mkCaddyReverseProxy {
inherit (service)
domain
port
;
extraHeaders = [
{
name = "X-Script-Name";
value = "/";
}
{
name = "X-Forwarded-For";
value = "{remote}";
}
{
name = "X-Remote-User";
value = "{http.auth.user.id}";
}
];
})
];
storage.filesystem_folder = "/var/lib/radicale/collections";
};
};
services.caddy.virtualHosts.${service.domain}.extraConfig = ''
reverse_proxy :${toString service.port} {
header_up X-Script-Name /
header_up X-Forwarded-For {remote}
header_up X-Remote-User {http.auth.user.id}
}
'';
};
}