nixos/jackflix: Add Jackett and Radarr

This commit is contained in:
Jack O'Sullivan 2022-06-12 01:40:57 +01:00
parent 26d2608a66
commit 87fbd63c46
3 changed files with 69 additions and 1 deletions

View File

@ -32,11 +32,37 @@
key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKzzAqa4821NlYfALYOlvR7YlOgxNuulTWo9Vm5L1mNU"; key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKzzAqa4821NlYfALYOlvR7YlOgxNuulTWo9Vm5L1mNU";
}; };
}; };
users = {
groups.media = {};
users = {
radarr.extraGroups = [ "media" ];
};
};
systemd = {
services = {
radarr.serviceConfig.UMask = "0002";
};
};
services = {
jackett = {
enable = true;
openFirewall = true;
};
radarr = {
enable = true;
openFirewall = true;
};
};
} }
(mkIf config.my.build.isDevVM { (mkIf config.my.build.isDevVM {
virtualisation = { virtualisation = {
forwardPorts = [ forwardPorts = [
{ from = "host"; host.port = 8080; guest.port = 80; } { from = "host"; host.port = 9117; guest.port = 9117; }
{ from = "host"; host.port = 7878; guest.port = 7878; }
{ from = "host"; host.port = 8989; guest.port = 8989; }
]; ];
}; };
}) })

View File

@ -152,6 +152,32 @@ in
]; ];
useACMEHost = lib.my.pubDomain; useACMEHost = lib.my.pubDomain;
}; };
"jackett.${lib.my.pubDomain}" = mkMerge [
{
locations."/" = mkMerge [
{
proxyPass = "http://jackflix-ctr.${config.networking.domain}:9117";
}
(ssoLoc "generic")
];
useACMEHost = lib.my.pubDomain;
}
(ssoServer "generic")
];
"radarr-test.${lib.my.pubDomain}" = mkMerge [
{
locations."/" = mkMerge [
{
proxyPass = "http://jackflix-ctr.${config.networking.domain}:7878";
proxyWebsockets = true;
}
(ssoLoc "generic")
];
useACMEHost = lib.my.pubDomain;
}
(ssoServer "generic")
];
}; };
in in
mkMerge [ mkMerge [

View File

@ -267,6 +267,22 @@ in
} }
]; ];
}) })
(mkIf config.services.radarr.enable {
my.tmproot.persistence.config.directories = [
{
directory = "/var/lib/radarr";
inherit (config.services.radarr) user group;
}
];
})
(mkIf config.services.sonarr.enable {
my.tmproot.persistence.config.directories = [
{
directory = "/var/lib/sonarr";
inherit (config.services.sonarr) user group;
}
];
})
(mkIf config.my.build.isDevVM { (mkIf config.my.build.isDevVM {
fileSystems = mkVMOverride { fileSystems = mkVMOverride {
# Hijack the "root" device for persistence in the VM # Hijack the "root" device for persistence in the VM