feat(nos): setup jellystat
All checks were successful
Discord / discord commits (push) Has been skipped

This commit is contained in:
matt1432 2025-02-08 01:31:20 -05:00
parent ddadec7917
commit 8dbd8f9ec2
7 changed files with 78 additions and 4 deletions

View file

@ -139,6 +139,7 @@ in {
subDirectories = {
bazarr.reverseProxy = "${nosIP}:6767";
jellystat.reverseProxy = "${nosIP}:3070";
prowlarr.reverseProxy = "${nosIP}:9696";
radarr.reverseProxy = "${nosIP}:7878";
sabnzbd.reverseProxy = "${nosIP}:8382";

View file

@ -15,6 +15,7 @@ in {
(import ./media/bazarr/compose.nix configPath)
(import ./media/joal/compose.nix configPath)
(import ./media/jellystat/compose.nix configPath)
(import ./media/prowlarr/compose.nix configPath)
(import ./media/radarr/compose.nix configPath)
(import ./media/sabnzbd/compose.nix configPath)

View file

@ -0,0 +1,49 @@
rwDataDir: {
config,
pkgs,
...
}: let
inherit (config.sops) secrets;
rwPath = rwDataDir + "/jellystat";
in {
virtualisation.docker.compose."jellystat" = {
networks.proxy_net = {external = true;};
services = {
"jellystat" = {
image = pkgs.callPackage ./images/jellystat.nix pkgs;
restart = "always";
env_file = [secrets.jellystat.path];
environment = {
JS_BASE_URL = "jellystat";
POSTGRES_IP = "jellystat-db";
POSTGRES_PORT = 5432;
TZ = "America/New_York";
};
ports = ["3070:3000"];
networks = ["proxy_net"];
volumes = ["${rwPath}/data:/app/backend/backup-data"];
depends_on = ["jellystat-db"];
};
"jellystat-db" = {
image = pkgs.callPackage ./images/postgres.nix pkgs;
restart = "always";
env_file = [secrets.jellystat.path];
networks = ["proxy_net"];
volumes = ["${rwPath}/db:/var/lib/postgresql/data"];
};
};
};
# For accurate stack trace
_file = ./compose.nix;
}

View file

@ -0,0 +1,8 @@
pkgs:
pkgs.dockerTools.pullImage rec {
imageName = "cyfershepard/jellystat";
imageDigest = "sha256:cc634936b69260548715953c0a4fcfb2dde6f6daa8eed3a6d08d0dcf0a72b9ed";
hash = "sha256-UZq435kIxakrwaStbe7LbQRwB0XRSzxYw9CVnctrku0=";
finalImageName = imageName;
finalImageTag = "latest";
}

View file

@ -0,0 +1,8 @@
pkgs:
pkgs.dockerTools.pullImage rec {
imageName = "postgres";
imageDigest = "sha256:78a275d4c891f7b3a33d3f1a78eda9f1d744954d9e20122bfdc97cdda25cddaf";
hash = "sha256-0cShBpvsoDyE5NmkPX5svlYTYVWVy0rrjwKLn0qYovY=";
finalImageName = imageName;
finalImageTag = "15.2";
}

View file

@ -67,6 +67,13 @@
description = "manage jellyfin users";
};
}
{
jellystat = {
href = "https://lan.nelim.org/jellystat";
icon = "jellyfin.png";
description = "view jellyfin stats";
};
}
{
jellyseerr = rec {
href = "https://seerr.nelim.org";

8
flake.lock generated
View file

@ -1790,11 +1790,11 @@
]
},
"locked": {
"lastModified": 1737762708,
"narHash": "sha256-S5NgFKNsx17zVcVcdUl8UvxdtFed+3/xfULkAmQOi6w=",
"lastModified": 1738994490,
"narHash": "sha256-Y5sEdnFopkJ2MfJr+irL6JLdXrLK2utEal9dXsf+0P4=",
"ref": "refs/heads/main",
"rev": "279291d37b542b88fcf5cea090d81759e9b247b7",
"revCount": 88,
"rev": "4777580bde7e86968083a2125d3946120aca067f",
"revCount": 91,
"type": "git",
"url": "ssh://git@git.nelim.org/matt1432/nixos-secrets"
},