71 lines
1.5 KiB
Nix
71 lines
1.5 KiB
Nix
{ ... }:
|
|
let
|
|
ports = {
|
|
jellyfin = 8096;
|
|
jellyfin_vue = 4004;
|
|
};
|
|
in
|
|
{
|
|
virtualisation.oci-containers.containers.jellyfin-vue = {
|
|
autoStart = true;
|
|
image = "docker.io/jellyfin/jellyfin-vue:unstable";
|
|
ports = [
|
|
"${toString ports.jellyfin_vue}:80"
|
|
];
|
|
};
|
|
|
|
nixpkgs.overlays = [
|
|
(
|
|
final: prev:
|
|
{
|
|
jellyfin-web = prev.jellyfin-web.overrideAttrs (finalAttrs: previousAttrs: {
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
# this is the important line
|
|
sed -i "s#</head>#<script src=\"configurationpage?name=skip-intro-button.js\"></script></head>#" dist/index.html
|
|
|
|
mkdir -p $out/share
|
|
cp -a dist $out/share/jellyfin-web
|
|
|
|
runHook postInstall
|
|
'';
|
|
});
|
|
}
|
|
)
|
|
];
|
|
|
|
|
|
services = {
|
|
# /var/lib/jellyfin
|
|
jellyfin.enable = true;
|
|
|
|
caddy.virtualHosts = {
|
|
"vue.jellyfin.catnip.ee".extraConfig = ''
|
|
tls {
|
|
dns cloudflare {env.CLOUDFLARE_API_TOKEN}
|
|
resolvers 1.1.1.1
|
|
}
|
|
|
|
reverse_proxy :${toString ports.jellyfin_vue}
|
|
'';
|
|
"jellyfin.catnip.ee".extraConfig = ''
|
|
tls {
|
|
dns cloudflare {env.CLOUDFLARE_API_TOKEN}
|
|
resolvers 1.1.1.1
|
|
}
|
|
|
|
reverse_proxy :${toString ports.jellyfin}
|
|
'';
|
|
};
|
|
|
|
borgbackup.jobs."borgbase" = {
|
|
paths = [
|
|
"/var/lib/jellyfin"
|
|
];
|
|
exclude = [
|
|
"/var/lib/jellyfin/transcodes"
|
|
];
|
|
};
|
|
};
|
|
}
|