cleanup
This commit is contained in:
@@ -4,52 +4,45 @@
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
inherit (lib.${namespace}) mkOpt;
|
||||
name = "tdarr";
|
||||
cfg = config.${namespace}.services.${name};
|
||||
|
||||
tdarrConfig = lib.${namespace}.mkModule {
|
||||
inherit config name;
|
||||
description = "tdarr";
|
||||
options = {
|
||||
serverPort = mkOpt types.str "8266" "node port";
|
||||
};
|
||||
moduleConfig = {
|
||||
virtualisation.oci-containers.containers.${name} = {
|
||||
autoStart = true;
|
||||
image = "ghcr.io/haveagitgat/tdarr";
|
||||
extraOptions = [ "--device=nvidia.com/gpu=0" ];
|
||||
volumes = [
|
||||
"${cfg.configDir}/tdarr/config:/app/configs"
|
||||
"${cfg.configDir}/tdarr/server:/app/server"
|
||||
"${cfg.configDir}/tdarr/logs:/app/logs"
|
||||
"${cfg.configDir}/tdarr/transcode:/temp"
|
||||
"${cfg.dataDir}/movies:/data/movies"
|
||||
"${cfg.dataDir}/tv:/data/tv"
|
||||
];
|
||||
ports = [
|
||||
"${cfg.serverPort}:8266"
|
||||
"${cfg.port}:8265"
|
||||
];
|
||||
environment = {
|
||||
serverPort = "8266";
|
||||
webUIPort = "8265";
|
||||
internalNode = "true";
|
||||
inContainer = "true";
|
||||
ffmpegVersion = "6";
|
||||
nodeName = "tdarr node";
|
||||
NVIDIA_VISIBLE_DEVICES = "all";
|
||||
NVIDIA_DRIVER_CAPABILITIES = "all";
|
||||
PUID = cfg.puid;
|
||||
PGID = cfg.pgid;
|
||||
TZ = cfg.timeZone;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
inherit (lib.${namespace}) mkOpt mkContainerService;
|
||||
cfg = config.${namespace}.services.tdarr;
|
||||
in
|
||||
{
|
||||
imports = [ tdarrConfig ];
|
||||
imports = [
|
||||
(mkContainerService {
|
||||
inherit config;
|
||||
name = "tdarr";
|
||||
image = "ghcr.io/haveagitgat/tdarr";
|
||||
internalPort = 8265;
|
||||
options = {
|
||||
serverPort = mkOpt lib.types.str "8266" "Tdarr node server port";
|
||||
};
|
||||
extraOptions = [ "--device=nvidia.com/gpu=0" ];
|
||||
volumes = [
|
||||
"${cfg.configDir}/tdarr/config:/app/configs"
|
||||
"${cfg.configDir}/tdarr/server:/app/server"
|
||||
"${cfg.configDir}/tdarr/logs:/app/logs"
|
||||
"${cfg.configDir}/tdarr/transcode:/temp"
|
||||
"${cfg.dataDir}/movies:/data/movies"
|
||||
"${cfg.dataDir}/tv:/data/tv"
|
||||
];
|
||||
environment = {
|
||||
serverPort = "8266";
|
||||
webUIPort = "8265";
|
||||
internalNode = "true";
|
||||
inContainer = "true";
|
||||
ffmpegVersion = "6";
|
||||
nodeName = "tdarr node";
|
||||
NVIDIA_VISIBLE_DEVICES = "all";
|
||||
NVIDIA_DRIVER_CAPABILITIES = "all";
|
||||
};
|
||||
extraConfig = {
|
||||
virtualisation.oci-containers.containers.tdarr.ports = lib.mkForce [
|
||||
"${cfg.serverPort}:8266"
|
||||
"${toString cfg.port}:8265"
|
||||
];
|
||||
};
|
||||
})
|
||||
];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user