Add nzbget
This commit is contained in:
parent
c70084a7b6
commit
b288654567
11 changed files with 203 additions and 576 deletions
|
@ -124,6 +124,7 @@
|
|||
authentik-redis.storage = "5Gi";
|
||||
mealie.storage = "3Gi";
|
||||
music.storage = "70Gi";
|
||||
nzbget.storage = "150Mi";
|
||||
};
|
||||
|
||||
tailscaleIngresses.tailscale-longhorn = {
|
||||
|
|
|
@ -16,6 +16,7 @@ in {
|
|||
prowlarr.enable = (lib.mkEnableOption "prowlarr") // {default = true;};
|
||||
sonarr.enable = (lib.mkEnableOption "sonarr") // {default = true;};
|
||||
bazarr.enable = (lib.mkEnableOption "bazarr") // {default = true;};
|
||||
nzbget.enable = (lib.mkEnableOption "nzbget") // {default = true;};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
|
@ -184,6 +185,73 @@ in {
|
|||
};
|
||||
};
|
||||
|
||||
nzbget = lib.mkIf cfg.nzbget.enable {
|
||||
spec = {
|
||||
selector.matchLabels = {
|
||||
app = "media";
|
||||
component = "nzbget";
|
||||
};
|
||||
|
||||
strategy = {
|
||||
type = "RollingUpdate";
|
||||
|
||||
rollingUpdate = {
|
||||
maxSurge = 0;
|
||||
maxUnavailable = 1;
|
||||
};
|
||||
};
|
||||
|
||||
template = {
|
||||
metadata.labels = {
|
||||
app = "media";
|
||||
component = "nzbget";
|
||||
};
|
||||
|
||||
spec = {
|
||||
containers.nzbget = {
|
||||
image = utils.mkNixNGImage "nzbget";
|
||||
imagePullPolicy = "IfNotPresent";
|
||||
stdin = true;
|
||||
tty = true;
|
||||
|
||||
ports.web.containerPort = 6789;
|
||||
|
||||
volumeMounts = [
|
||||
{
|
||||
name = "config";
|
||||
mountPath = "/home/nzbget";
|
||||
}
|
||||
{
|
||||
name = "media";
|
||||
mountPath = "/media";
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
volumes = {
|
||||
config.persistentVolumeClaim.claimName = "nzbget";
|
||||
media.hostPath = {
|
||||
path = "/mnt/longhorn/persistent/media";
|
||||
type = "Directory";
|
||||
};
|
||||
};
|
||||
|
||||
affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms = [
|
||||
{
|
||||
matchExpressions = [
|
||||
{
|
||||
key = "hasMedia";
|
||||
operator = "In";
|
||||
values = ["true"];
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
jellyseerr = lib.mkIf cfg.jellyseerr.enable {
|
||||
spec = {
|
||||
selector.matchLabels = {
|
||||
|
@ -642,6 +710,23 @@ in {
|
|||
};
|
||||
};
|
||||
};
|
||||
|
||||
nzbget = lib.mkIf cfg.nzbget.enable {
|
||||
spec = {
|
||||
type = "LoadBalancer";
|
||||
loadBalancerIP = globals.nzbgetIPv4;
|
||||
|
||||
selector = {
|
||||
app = "media";
|
||||
component = "nzbget";
|
||||
};
|
||||
|
||||
ports.web = {
|
||||
port = 80;
|
||||
targetPort = "web";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
persistentVolumeClaims.jellyfin-cache = lib.mkIf cfg.jellyfin.enable {
|
||||
|
@ -704,6 +789,11 @@ in {
|
|||
host = "deluge";
|
||||
service.name = "deluge";
|
||||
};
|
||||
|
||||
tailscale-nzbget = lib.mkIf cfg.nzbget.enable {
|
||||
host = "nzbget";
|
||||
service.name = "nzbget";
|
||||
};
|
||||
};
|
||||
|
||||
longhorn.persistentVolumeClaim = {
|
||||
|
@ -746,6 +836,11 @@ in {
|
|||
volumeName = "music";
|
||||
storage = "70Gi";
|
||||
};
|
||||
|
||||
nzbget = lib.mkIf cfg.nzbget.enable {
|
||||
volumeName = "nzbget";
|
||||
storage = "150Mi";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue