system/roles/video-library.nix (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | {
config,
lib,
...
}:
let
inherit (config.networking) domain fqdn;
inherit (import ../../data) homenet pubnet;
in
{
services.jellyfin = {
enable = true;
};
services.caddy.virtualHosts = {
"jf.${domain}" = {
extraConfig = ''
${lib.optionalString (domain == homenet) ''
tls {
issuer internal {
ca home
}
}
''}
reverse_proxy localhost:8096 {
health_uri /health
health_body Healthy
}
'';
};
};
services.dnsmasq.settings.cname = [
"jf.${domain},${fqdn}"
];
fileSystems = lib.mkIf (domain == pubnet) {
"/srv/video" = {
device = "172.16.129.30:/nas/6567/video";
fsType = "nfs";
options = [ "nofail" ];
};
};
}
|