Add jellyfin opensubtitles
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
@@ -20,12 +20,16 @@ in
|
|||||||
"jellyfin/admin".sopsFile = ../../../../../../../secrets/secrets.yaml;
|
"jellyfin/admin".sopsFile = ../../../../../../../secrets/secrets.yaml;
|
||||||
"jellyfin/authelia/password".sopsFile = ../../../../../../../secrets/secrets.yaml;
|
"jellyfin/authelia/password".sopsFile = ../../../../../../../secrets/secrets.yaml;
|
||||||
"jellyfin/authelia/digest".sopsFile = ../../../../../../../secrets/secrets.yaml;
|
"jellyfin/authelia/digest".sopsFile = ../../../../../../../secrets/secrets.yaml;
|
||||||
|
"opensubtitles/username".sopsFile = ../../../../../../../../../secrets/personal/secrets.yaml;
|
||||||
|
"opensubtitles/password".sopsFile = ../../../../../../../../../secrets/personal/secrets.yaml;
|
||||||
};
|
};
|
||||||
|
|
||||||
templates = {
|
templates = {
|
||||||
jellyfin-env.content = ''
|
jellyfin-env.content = ''
|
||||||
JELLYFIN_ADMIN_PASSWORD=${hmConfig.sops.placeholder."jellyfin/admin"}
|
JELLYFIN_ADMIN_PASSWORD=${hmConfig.sops.placeholder."jellyfin/admin"}
|
||||||
JELLYFIN_OIDC_SECRET=${hmConfig.sops.placeholder."jellyfin/authelia/password"}
|
JELLYFIN_OIDC_SECRET=${hmConfig.sops.placeholder."jellyfin/authelia/password"}
|
||||||
|
OPENSUBTITLES_USERNAME=${hmConfig.sops.placeholder."opensubtitles/username"}
|
||||||
|
OPENSUBTITLES_PASSWORD=${hmConfig.sops.placeholder."opensubtitles/password"}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
authelia-jellyfin.content = builtins.readFile (
|
authelia-jellyfin.content = builtins.readFile (
|
||||||
@@ -70,6 +74,8 @@ in
|
|||||||
volumes = {
|
volumes = {
|
||||||
jellyfin-config = { };
|
jellyfin-config = { };
|
||||||
jellyfin-data = { };
|
jellyfin-data = { };
|
||||||
|
jellyfin-metadata = { };
|
||||||
|
jellyfin-root = { };
|
||||||
jellyfin-log = { };
|
jellyfin-log = { };
|
||||||
jellyfin-cache = { };
|
jellyfin-cache = { };
|
||||||
};
|
};
|
||||||
@@ -95,7 +101,9 @@ in
|
|||||||
"${setup}:/etc/jellyfin/setup.sh:ro"
|
"${setup}:/etc/jellyfin/setup.sh:ro"
|
||||||
"${./libraries}:/etc/jellyfin/libraries:ro"
|
"${./libraries}:/etc/jellyfin/libraries:ro"
|
||||||
"${volumes.jellyfin-config.ref}:/etc/jellyfin"
|
"${volumes.jellyfin-config.ref}:/etc/jellyfin"
|
||||||
"${volumes.jellyfin-data.ref}:/var/lib/jellyfin"
|
"${volumes.jellyfin-data.ref}:/var/lib/jellyfin/data"
|
||||||
|
"${volumes.jellyfin-metadata.ref}:/var/lib/jellyfin/metadata"
|
||||||
|
"${volumes.jellyfin-root.ref}:/var/lib/jellyfin/root"
|
||||||
"${volumes.jellyfin-log.ref}:/var/log/jellyfin"
|
"${volumes.jellyfin-log.ref}:/var/log/jellyfin"
|
||||||
"${volumes.jellyfin-cache.ref}:/tmp/jellyfin"
|
"${volumes.jellyfin-cache.ref}:/tmp/jellyfin"
|
||||||
];
|
];
|
||||||
|
@@ -77,6 +77,18 @@ curl -sf "$JELLYFIN_HOST/Plugins/c83d86bb-a1e0-4c35-a113-e2101cf4ee6b/Configurat
|
|||||||
-H 'Authorization: MediaBrowser Token="'"$token"'"' \
|
-H 'Authorization: MediaBrowser Token="'"$token"'"' \
|
||||||
--data-binary @-
|
--data-binary @-
|
||||||
|
|
||||||
|
curl -sf "$JELLYFIN_HOST/Plugins/4b9ed42f-5185-48b5-9803-6ff2989014c4/Configuration" \
|
||||||
|
-H 'Authorization: MediaBrowser Token="'"$token"'"' \
|
||||||
|
| jq --arg username "$OPENSUBTITLES_USERNAME" \
|
||||||
|
--arg password "$OPENSUBTITLES_PASSWORD" \
|
||||||
|
'.Username = $username
|
||||||
|
| .Password = $password' \
|
||||||
|
| curl -sf "$JELLYFIN_HOST/Plugins/4b9ed42f-5185-48b5-9803-6ff2989014c4/Configuration" \
|
||||||
|
-X POST \
|
||||||
|
-H 'Content-Type: application/json' \
|
||||||
|
-H 'Authorization: MediaBrowser Token="'"$token"'"' \
|
||||||
|
--data-binary @-
|
||||||
|
|
||||||
curl -sf "$JELLYFIN_HOST/Plugins/b8715ed1-6c47-4528-9ad3-f72deb539cd4/Configuration" \
|
curl -sf "$JELLYFIN_HOST/Plugins/b8715ed1-6c47-4528-9ad3-f72deb539cd4/Configuration" \
|
||||||
-H 'Authorization: MediaBrowser Token="'"$token"'"' \
|
-H 'Authorization: MediaBrowser Token="'"$token"'"' \
|
||||||
| jq '.IncludeAdult = true' \
|
| jq '.IncludeAdult = true' \
|
||||||
|
@@ -49,6 +49,7 @@
|
|||||||
|
|
||||||
jellyfin-plugin-bookshelf = import ./jellyfin/plugins/bookshelf { inherit pkgs; };
|
jellyfin-plugin-bookshelf = import ./jellyfin/plugins/bookshelf { inherit pkgs; };
|
||||||
jellyfin-plugin-intro-skipper = import ./jellyfin/plugins/intro-skipper { inherit pkgs; };
|
jellyfin-plugin-intro-skipper = import ./jellyfin/plugins/intro-skipper { inherit pkgs; };
|
||||||
|
jellyfin-plugin-opensubtitles = import ./jellyfin/plugins/opensubtitles { inherit pkgs; };
|
||||||
jellyfin-plugin-playbackreporting = import ./jellyfin/plugins/playbackreporting { inherit pkgs; };
|
jellyfin-plugin-playbackreporting = import ./jellyfin/plugins/playbackreporting { inherit pkgs; };
|
||||||
jellyfin-plugin-reports = import ./jellyfin/plugins/reports { inherit pkgs; };
|
jellyfin-plugin-reports = import ./jellyfin/plugins/reports { inherit pkgs; };
|
||||||
jellyfin-plugin-sso = import ./jellyfin/plugins/sso { inherit pkgs; };
|
jellyfin-plugin-sso = import ./jellyfin/plugins/sso { inherit pkgs; };
|
||||||
|
@@ -29,6 +29,11 @@ let
|
|||||||
cp -r ${selfPkgs.jellyfin-plugin-intro-skipper} $out/var/lib/jellyfin/plugins/intro-skipper
|
cp -r ${selfPkgs.jellyfin-plugin-intro-skipper} $out/var/lib/jellyfin/plugins/intro-skipper
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
jellyfin-plugin-opensubtitles = pkgs.runCommandLocal "jellyfin-plugin-opensubtitles" { } ''
|
||||||
|
mkdir -p $out/var/lib/jellyfin/plugins
|
||||||
|
cp -r ${selfPkgs.jellyfin-plugin-opensubtitles} $out/var/lib/jellyfin/plugins/opensubtitles
|
||||||
|
'';
|
||||||
|
|
||||||
jellyfin-plugin-playbackreporting = pkgs.runCommandLocal "jellyfin-plugin-playbackreporting" { } ''
|
jellyfin-plugin-playbackreporting = pkgs.runCommandLocal "jellyfin-plugin-playbackreporting" { } ''
|
||||||
mkdir -p $out/var/lib/jellyfin/plugins
|
mkdir -p $out/var/lib/jellyfin/plugins
|
||||||
cp -r ${selfPkgs.jellyfin-plugin-playbackreporting} $out/var/lib/jellyfin/plugins/playbackreporting
|
cp -r ${selfPkgs.jellyfin-plugin-playbackreporting} $out/var/lib/jellyfin/plugins/playbackreporting
|
||||||
@@ -73,6 +78,7 @@ pkgs.dockerTools.buildImage {
|
|||||||
jellyfin-web
|
jellyfin-web
|
||||||
jellyfin-plugin-bookshelf
|
jellyfin-plugin-bookshelf
|
||||||
jellyfin-plugin-intro-skipper
|
jellyfin-plugin-intro-skipper
|
||||||
|
jellyfin-plugin-opensubtitles
|
||||||
jellyfin-plugin-playbackreporting
|
jellyfin-plugin-playbackreporting
|
||||||
jellyfin-plugin-reports
|
jellyfin-plugin-reports
|
||||||
jellyfin-plugin-sso
|
jellyfin-plugin-sso
|
||||||
@@ -97,7 +103,9 @@ pkgs.dockerTools.buildImage {
|
|||||||
WorkingDir = "/var/lib/jellyfin";
|
WorkingDir = "/var/lib/jellyfin";
|
||||||
Volumes = {
|
Volumes = {
|
||||||
"/etc/jellyfin" = { };
|
"/etc/jellyfin" = { };
|
||||||
"/var/lib/jellyfin" = { };
|
"/var/lib/jellyfin/data" = { };
|
||||||
|
"/var/lib/jellyfin/metadata" = { };
|
||||||
|
"/var/lib/jellyfin/root" = { };
|
||||||
"/var/log/jellyfin" = { };
|
"/var/log/jellyfin" = { };
|
||||||
"/tmp/jellyfin" = { };
|
"/tmp/jellyfin" = { };
|
||||||
};
|
};
|
||||||
|
16
packages/jellyfin/plugins/opensubtitles/default.nix
Normal file
16
packages/jellyfin/plugins/opensubtitles/default.nix
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
# AUTO-UPDATE: nix-update --flake jellyfin-plugin-opensubtitles
|
||||||
|
pkgs.stdenv.mkDerivation rec {
|
||||||
|
pname = "opensubtitles";
|
||||||
|
version = "20";
|
||||||
|
|
||||||
|
src = pkgs.fetchzip {
|
||||||
|
url = "https://github.com/jellyfin/jellyfin-plugin-opensubtitles/releases/download/v${version}/open-subtitles_${version}.0.0.0.zip";
|
||||||
|
sha256 = "sha256-U17wQn32GB4nh05ExYJhzRw4nDvYOCB4EJtDoaaUnjI=";
|
||||||
|
stripRoot = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
cp -r $src $out
|
||||||
|
'';
|
||||||
|
}
|
Reference in New Issue
Block a user