2023-05-12 22:05:10 +01:00
|
|
|
{ config, lib, ... }:
|
2021-12-08 16:39:00 +00:00
|
|
|
|
|
|
|
let
|
|
|
|
domain = "htnzb.giugl.io";
|
2022-11-11 18:09:21 +00:00
|
|
|
auth_block = (import ./openid.nix { inherit lib; }).openresty_oidc_block;
|
2023-05-12 22:05:10 +01:00
|
|
|
|
|
|
|
utilities = import ./utilities.nix { inherit lib config; };
|
|
|
|
inherit (utilities) architectInterfaceAddress;
|
2023-02-11 02:29:48 +00:00
|
|
|
in
|
|
|
|
{
|
2021-07-07 13:13:19 +01:00
|
|
|
services = {
|
2022-02-15 10:58:08 +00:00
|
|
|
nzbget = {
|
|
|
|
enable = true;
|
|
|
|
group = "media";
|
|
|
|
};
|
2021-07-07 13:13:19 +01:00
|
|
|
|
2021-12-08 16:39:00 +00:00
|
|
|
nginx.virtualHosts.${domain} = {
|
2021-07-07 13:13:19 +01:00
|
|
|
forceSSL = true;
|
|
|
|
enableACME = true;
|
|
|
|
locations."/" = {
|
2022-11-11 18:09:21 +00:00
|
|
|
proxyPass = "http://127.0.0.1:6789";
|
2022-10-28 13:56:40 +01:00
|
|
|
extraConfig = auth_block {
|
2022-11-11 18:09:21 +00:00
|
|
|
access_role = "nzbget";
|
2022-10-28 13:56:40 +01:00
|
|
|
};
|
2021-07-07 13:13:19 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
networking.extraHosts = ''
|
2023-05-12 22:05:10 +01:00
|
|
|
${architectInterfaceAddress "lan"} ${domain}
|
|
|
|
${architectInterfaceAddress "wireguard"} ${domain}
|
|
|
|
${architectInterfaceAddress "tailscale"} ${domain}
|
2021-07-07 13:13:19 +01:00
|
|
|
'';
|
|
|
|
|
2021-11-25 11:42:32 +00:00
|
|
|
users.groups.media.members = [ "nzbget" ];
|
2021-07-07 13:13:19 +01:00
|
|
|
}
|