jellyseerr
This commit is contained in:
parent
782b2e1c45
commit
52d73755bf
5 changed files with 122 additions and 73 deletions
85
flake.lock
85
flake.lock
|
@ -28,7 +28,7 @@
|
||||||
"deploy-rs": {
|
"deploy-rs": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_3",
|
"flake-compat": "flake-compat_3",
|
||||||
"nixpkgs": "nixpkgs_3",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"utils": "utils"
|
"utils": "utils"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
|
@ -588,28 +588,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixng": {
|
"nixng": {
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"treefmt-nix": "treefmt-nix_2"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1734470616,
|
|
||||||
"narHash": "sha256-8pQ2ar2NVU3ehf1o9DHcn3rlsl440eOWcEv7bQfiOec=",
|
|
||||||
"owner": "pizzapim",
|
|
||||||
"repo": "NixNG",
|
|
||||||
"rev": "fd29c877186dbb06d5593d734952baec199a5261",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "pizzapim",
|
|
||||||
"ref": "radicale",
|
|
||||||
"repo": "NixNG",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixng_2": {
|
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"servers",
|
"servers",
|
||||||
|
@ -664,16 +642,16 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1726871744,
|
"lastModified": 1733581040,
|
||||||
"narHash": "sha256-V5LpfdHyQkUF7RfOaDPrZDP+oqz88lTJrMT1+stXNwo=",
|
"narHash": "sha256-Qn3nPMSopRQJgmvHzVqPcE3I03zJyl8cSbgnnltfFDY=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "a1d92660c6b3b7c26fb883500a80ea9d33321be2",
|
"rev": "22c3f2cf41a0e70184334a958e6b124fb0ce3e01",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"ref": "nixpkgs-unstable",
|
"ref": "nixos-unstable",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
@ -743,22 +721,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733581040,
|
|
||||||
"narHash": "sha256-Qn3nPMSopRQJgmvHzVqPcE3I03zJyl8cSbgnnltfFDY=",
|
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "22c3f2cf41a0e70184334a958e6b124fb0ce3e01",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nixos",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_3": {
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1702272962,
|
"lastModified": 1702272962,
|
||||||
"narHash": "sha256-D+zHwkwPc6oYQ4G3A1HuadopqRwUY/JkMwHz1YF7j4Q=",
|
"narHash": "sha256-D+zHwkwPc6oYQ4G3A1HuadopqRwUY/JkMwHz1YF7j4Q=",
|
||||||
|
@ -774,7 +736,7 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1726871744,
|
"lastModified": 1726871744,
|
||||||
"narHash": "sha256-V5LpfdHyQkUF7RfOaDPrZDP+oqz88lTJrMT1+stXNwo=",
|
"narHash": "sha256-V5LpfdHyQkUF7RfOaDPrZDP+oqz88lTJrMT1+stXNwo=",
|
||||||
|
@ -790,7 +752,7 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733097829,
|
"lastModified": 1733097829,
|
||||||
"narHash": "sha256-9hbb1rqGelllb4kVUCZ307G2k3/UhmA8PPGBoyuWaSw=",
|
"narHash": "sha256-9hbb1rqGelllb4kVUCZ307G2k3/UhmA8PPGBoyuWaSw=",
|
||||||
|
@ -839,10 +801,9 @@
|
||||||
"git-hooks": "git-hooks",
|
"git-hooks": "git-hooks",
|
||||||
"kubenix": "kubenix",
|
"kubenix": "kubenix",
|
||||||
"nixhelm": "nixhelm",
|
"nixhelm": "nixhelm",
|
||||||
"nixng": "nixng",
|
"nixpkgs": "nixpkgs",
|
||||||
"nixpkgs": "nixpkgs_2",
|
|
||||||
"servers": "servers",
|
"servers": "servers",
|
||||||
"treefmt-nix": "treefmt-nix_4"
|
"treefmt-nix": "treefmt-nix_3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"servers": {
|
"servers": {
|
||||||
|
@ -854,7 +815,7 @@
|
||||||
"git-hooks": "git-hooks_2",
|
"git-hooks": "git-hooks_2",
|
||||||
"kubenix": "kubenix_2",
|
"kubenix": "kubenix_2",
|
||||||
"nix-snapshotter": "nix-snapshotter",
|
"nix-snapshotter": "nix-snapshotter",
|
||||||
"nixng": "nixng_2",
|
"nixng": "nixng",
|
||||||
"nixos-facter-modules": "nixos-facter-modules",
|
"nixos-facter-modules": "nixos-facter-modules",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -862,7 +823,7 @@
|
||||||
],
|
],
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||||
"sops-nix": "sops-nix",
|
"sops-nix": "sops-nix",
|
||||||
"treefmt-nix": "treefmt-nix_3"
|
"treefmt-nix": "treefmt-nix_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733068232,
|
"lastModified": 1733068232,
|
||||||
|
@ -1062,25 +1023,7 @@
|
||||||
},
|
},
|
||||||
"treefmt-nix_2": {
|
"treefmt-nix_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs_3"
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1727984844,
|
|
||||||
"narHash": "sha256-xpRqITAoD8rHlXQafYZOLvUXCF6cnZkPfoq67ThN0Hc=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "treefmt-nix",
|
|
||||||
"rev": "4446c7a6fc0775df028c5a3f6727945ba8400e64",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "treefmt-nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"treefmt-nix_3": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": "nixpkgs_4"
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730025913,
|
"lastModified": 1730025913,
|
||||||
|
@ -1096,9 +1039,9 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"treefmt-nix_4": {
|
"treefmt-nix_3": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_5"
|
"nixpkgs": "nixpkgs_4"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733662930,
|
"lastModified": 1733662930,
|
||||||
|
|
|
@ -41,7 +41,8 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
nixng = {
|
nixng = {
|
||||||
url = "github:pizzapim/NixNG/radicale";
|
# url = "github:pizzapim/NixNG/jellyseerr";
|
||||||
|
url = "git+file:///home/pim/git/forks/NixNG";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
82
images/jellyseerr-2.1.0.nix
Normal file
82
images/jellyseerr-2.1.0.nix
Normal file
|
@ -0,0 +1,82 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
pnpm_9,
|
||||||
|
fetchFromGitHub,
|
||||||
|
stdenv,
|
||||||
|
makeWrapper,
|
||||||
|
nodejs,
|
||||||
|
python3,
|
||||||
|
sqlite,
|
||||||
|
nix-update-script,
|
||||||
|
}:
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "jellyseerr";
|
||||||
|
version = "2.1.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "Fallenbagel";
|
||||||
|
repo = "jellyseerr";
|
||||||
|
rev = "v${version}";
|
||||||
|
hash = "sha256-5kaeqhjUy9Lgx4/uFcGRlAo+ROEOdTWc2m49rq8R8Hs=";
|
||||||
|
};
|
||||||
|
|
||||||
|
pnpmDeps = pnpm_9.fetchDeps {
|
||||||
|
inherit pname version src;
|
||||||
|
hash = "sha256-xu6DeaBArQmnqEnIgjc1DTZujQebSkjuai9tMHeQWCk=";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [sqlite];
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
python3
|
||||||
|
nodejs
|
||||||
|
makeWrapper
|
||||||
|
pnpm_9.configHook
|
||||||
|
];
|
||||||
|
|
||||||
|
preBuild = ''
|
||||||
|
export npm_config_nodedir=${nodejs}
|
||||||
|
pushd node_modules
|
||||||
|
pnpm rebuild bcrypt sqlite3
|
||||||
|
popd
|
||||||
|
'';
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
runHook preBuild
|
||||||
|
pnpm build
|
||||||
|
pnpm prune --prod --ignore-scripts
|
||||||
|
rm -rf .next/cache
|
||||||
|
runHook postBuild
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
mkdir -p $out/share
|
||||||
|
cp -r -t $out/share .next node_modules dist config package.json overseerr-api.yml
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
makeWrapper '${nodejs}/bin/node' "$out/bin/jellyseerr" \
|
||||||
|
--add-flags "$out/share/dist/index.js" \
|
||||||
|
--chdir "$out/share" \
|
||||||
|
--set NODE_ENV production
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru.updateScript = nix-update-script {};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Fork of overseerr for jellyfin support";
|
||||||
|
homepage = "https://github.com/Fallenbagel/jellyseerr";
|
||||||
|
longDescription = ''
|
||||||
|
Jellyseerr is a free and open source software application for managing
|
||||||
|
requests for your media library. It is a a fork of Overseerr built to
|
||||||
|
bring support for Jellyfin & Emby media servers!
|
||||||
|
'';
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [camillemndn];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
mainProgram = "jellyseerr";
|
||||||
|
};
|
||||||
|
}
|
21
images/jellyseerr.nix
Normal file
21
images/jellyseerr.nix
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
nglib,
|
||||||
|
nixpkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
nglib.makeSystem {
|
||||||
|
inherit nixpkgs;
|
||||||
|
system = "x86_64-linux";
|
||||||
|
name = "nixng-jellyseerr";
|
||||||
|
|
||||||
|
config = {pkgs, ...}: {
|
||||||
|
dinit.enable = true;
|
||||||
|
init.services.jellyseerr.shutdownOnExit = true;
|
||||||
|
|
||||||
|
services.jellyseerr = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.callPackage ./jellyseerr-2.1.0.nix {};
|
||||||
|
configDir = "/app/config";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,7 +1,9 @@
|
||||||
{
|
{
|
||||||
|
self,
|
||||||
globals,
|
globals,
|
||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
|
utils,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
options.media.enable = lib.mkEnableOption "media";
|
options.media.enable = lib.mkEnableOption "media";
|
||||||
|
@ -167,7 +169,7 @@
|
||||||
volumes.config.persistentVolumeClaim.claimName = "jellyseerr";
|
volumes.config.persistentVolumeClaim.claimName = "jellyseerr";
|
||||||
|
|
||||||
containers.jellyseerr = {
|
containers.jellyseerr = {
|
||||||
image = globals.images.jellyseerr;
|
image = utils.nixSnapshotterRef (utils.mkNixNGImage "jellyseerr" "${self}/images/jellyseerr.nix");
|
||||||
ports.web.containerPort = 5055;
|
ports.web.containerPort = 5055;
|
||||||
imagePullPolicy = "IfNotPresent";
|
imagePullPolicy = "IfNotPresent";
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue