diff --git a/configurations/cluster/modules/caddy/default.nix b/configurations/cluster/modules/caddy/default.nix index b62877a9..4e4f153c 100644 --- a/configurations/cluster/modules/caddy/default.nix +++ b/configurations/cluster/modules/caddy/default.nix @@ -148,6 +148,12 @@ in { radarr.reverseProxy = "${nosIP}:7878"; sonarr.reverseProxy = "${nosIP}:8989"; + jdownloader2 = { + subDirName = "jd2"; + experimental = true; + reverseProxy = "${nosIP}:5800"; + }; + qbittorent = { subDirName = "qbt"; experimental = true; diff --git a/configurations/nos/modules/comics/default.nix b/configurations/nos/modules/comics/default.nix index 1514f59a..fdbb6e1a 100644 --- a/configurations/nos/modules/comics/default.nix +++ b/configurations/nos/modules/comics/default.nix @@ -1,5 +1,6 @@ {...}: { imports = [ + ./jdownloader2 ./komga ]; } diff --git a/configurations/nos/modules/comics/jdownloader2/default.nix b/configurations/nos/modules/comics/jdownloader2/default.nix new file mode 100644 index 00000000..0864bf04 --- /dev/null +++ b/configurations/nos/modules/comics/jdownloader2/default.nix @@ -0,0 +1,27 @@ +{ + config, + mainUser, + pkgs, + ... +}: { + virtualisation.docker.compose."jdownloader2".services."jdownloader2" = { + image = pkgs.callPackage ./images/jdownloader2.nix pkgs; + restart = "always"; + + environment = { + USER_ID = toString config.users.users.${mainUser}.uid; + GROUP_ID = toString config.users.users.${mainUser}.uid; + KEEP_APP_RUNNING = 1; + TZ = "America/New_York"; + }; + + ports = [ + "5800:5800" + ]; + + volumes = [ + "/var/lib/jdownloader2:/config:rw" + "/data/downloads/comics:/output:rw" + ]; + }; +} diff --git a/configurations/nos/modules/comics/jdownloader2/images/jdownloader2.nix b/configurations/nos/modules/comics/jdownloader2/images/jdownloader2.nix new file mode 100644 index 00000000..019af3d7 --- /dev/null +++ b/configurations/nos/modules/comics/jdownloader2/images/jdownloader2.nix @@ -0,0 +1,8 @@ +pkgs: +pkgs.dockerTools.pullImage rec { + imageName = "docker.io/jlesage/jdownloader-2"; + imageDigest = "sha256:a597e25a5be386cac5519f2fc705eadb786727f9f0f2c7440fb5585efa41973f"; + hash = "sha256-kZRMR1cv5jad+BQkxgvuKIcVod42neszkU9/RPh7BNY="; + finalImageName = imageName; + finalImageTag = "latest"; +}