caddy: Configure virtual hosts inside each web-service's module instead of in the host configs

This commit is contained in:
SebastianStork 2025-11-08 22:52:01 +01:00
parent dfeb11dfbd
commit c9f05a040e
Signed by: SebastianStork
SSH key fingerprint: SHA256:tRrGdjYOwgHxpSc/wTOZQZEjxcb15P0tyXRsbAfd+2Q
23 changed files with 130 additions and 170 deletions

View file

@ -16,17 +16,10 @@ in
type = lib.types.nonEmptyStr;
default = "";
};
port = lib.mkOption {
type = lib.types.port;
default = 3890;
};
};
config = lib.mkIf cfg.enable {
meta = {
domains.list = [ cfg.domain ];
ports.tcp.list = [ cfg.port ];
};
meta.domains.list = [ cfg.domain ];
systemd.services.generate-blog = {
serviceConfig.Type = "oneshot";
@ -36,9 +29,6 @@ in
script = "nix build github:SebastianStork/blog --out-link ${dataDir} --refresh";
};
services.caddy.virtualHosts.":${toString cfg.port}".extraConfig = ''
root * ${dataDir}
file_server
'';
custom.services.caddy.virtualHosts.${cfg.domain}.files = dataDir;
};
}