add hass & handbrake
This commit is contained in:
@@ -1,6 +1,76 @@
|
||||
{...}:{
|
||||
{ config, containerCfg, pkgs, lib, builder, name,... }:
|
||||
let
|
||||
serverCfg = config.syscfg.server;
|
||||
image = pkgs.dockerTools.streamLayeredImage {
|
||||
name = pkgs.handbrake.name;
|
||||
tag = pkgs.handbrake.version;
|
||||
#contents = [ pkgs.coreutils ];
|
||||
|
||||
config = {
|
||||
Entrypoint = [ "${pkgs.handbrake}/bin/HandBrakeCLI" ];
|
||||
WorkingDir = "/storage";
|
||||
Env = [ "PATH=${lib.makeBinPath [ pkgs.handbrake ]}"];
|
||||
};
|
||||
};
|
||||
in {
|
||||
sops = false; # Enabled to manage potential API keys or secure paths
|
||||
db = false;
|
||||
|
||||
paths = [{
|
||||
path = "${serverCfg.configPath}/handbrake/config";
|
||||
mode = "0755";
|
||||
} {
|
||||
path = "${serverCfg.dataPath}/handbrake/";
|
||||
mode = "0755";
|
||||
}];
|
||||
|
||||
containers = {
|
||||
server = builder.mkContainer {
|
||||
subdomain = containerCfg.subdomain;
|
||||
imageStream = image;
|
||||
port = 5800;
|
||||
|
||||
extraEnv = {
|
||||
TZ = "UTC";
|
||||
USER_ID = "1000";
|
||||
GROUP_ID = "1000";
|
||||
AUTOMATED_CONVERSION_PRESET = "Very Fast 1080p30";
|
||||
AUTOMATED_CONVERSION_FORMAT = "mp4";
|
||||
AUTOMATED_CONVERSION_OUTPUT_DIR = "/output";
|
||||
AUTOMATED_CONVERSION_WATCH_DIR = "AUTO";
|
||||
AUTOMATED_CONVERSION_KEEP_SOURCE = "1";
|
||||
AUTOMATED_CONVERSION_OVERWRITE_OUTPUT = "0";
|
||||
AUTOMATED_CONVERSION_VIDEO_FILE_EXTENSIONS = "";
|
||||
AUTOMATED_CONVERSION_NON_VIDEO_FILE_ACTION = "ignore";
|
||||
AUTOMATED_CONVERSION_NON_VIDEO_FILE_EXTENSIONS = "jpg jpeg bmp png gif txt nfo";
|
||||
AUTOMATED_CONVERSION_MAX_WATCH_FOLDERS = "5";
|
||||
AUTOMATED_CONVERSION_CHECK_INTERVAL = "5";
|
||||
AUTOMATED_CONVERSION_HANDBRAKE_CUSTOM_ARGS = "";
|
||||
AUTOMATED_CONVERSION_NO_GUI_PROGRESS = "0";
|
||||
AUTOMATED_CONVERSION_USE_TRASH = "0";
|
||||
HANDBRAKE_GUI = "1";
|
||||
};
|
||||
extraLabels = { } // (if serverCfg.containers ? authentik then {
|
||||
"traefik.http.routers.${containerCfg.subdomain}.middlewares" = "authentik";
|
||||
} else {});
|
||||
|
||||
overrides = {
|
||||
volumes = [
|
||||
"${serverCfg.configPath}/handbrake/config:/config:rw"
|
||||
"${serverCfg.dataPath}/handbrake/watch:/watch:rw"
|
||||
"${serverCfg.dataPath}/handbrake/output:/output:rw"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
setup = {
|
||||
trigger = "server";
|
||||
script = pkgs.writeShellScript "setup" ''
|
||||
mkdir -p ${serverCfg.dataPath}/handbrake/{watch,output}
|
||||
|
||||
'';
|
||||
};
|
||||
|
||||
# extraLabels = { } // (if serverCfg.containers ? authentik then {
|
||||
# "traefik.http.routers.${containerCfg.subdomain}.middlewares" = "authentik";
|
||||
# } else {});
|
||||
}
|
||||
Reference in New Issue
Block a user