51 lines
1.2 KiB
Nix
51 lines
1.2 KiB
Nix
{
|
|
lib,
|
|
config,
|
|
pkgs,
|
|
...
|
|
}:
|
|
{
|
|
options.server.jellyfin.enable = lib.mkEnableOption "Enable Jellyfin+Jellyseerr";
|
|
|
|
config = lib.mkIf config.server.jellyfin.enable {
|
|
networking.firewall.allowedTCPPorts = [
|
|
5055
|
|
8096
|
|
];
|
|
networking.firewall.allowedUDPPorts = [ 8096 ];
|
|
|
|
# Jellyfin
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
jellyfin
|
|
jellyfin-web
|
|
jellyfin-ffmpeg
|
|
];
|
|
|
|
services.jellyfin.enable = true;
|
|
|
|
hardware.graphics = {
|
|
enable = true;
|
|
extraPackages = with pkgs; [
|
|
intel-media-driver
|
|
intel-vaapi-driver # previously vaapiIntel
|
|
vaapiVdpau
|
|
intel-compute-runtime # OpenCL filter support (hardware tonemapping and subtitle burn-in)
|
|
vpl-gpu-rt # QSV on 11th gen or newer
|
|
intel-media-sdk # QSV up to 11th gen
|
|
];
|
|
};
|
|
|
|
# services.jellyseerr = {
|
|
# enable = true;
|
|
# port = 5055;
|
|
# openFirewall = true;
|
|
# };
|
|
|
|
virtualisation.oci-containers.containers."jellyseerr-music" = {
|
|
image = "fallenbagel/jellyseerr:preview-music-support";
|
|
extraOptions = [ "--network=host" ];
|
|
volumes = [ "/var/lib/jellyseerr/config:/app/config" ];
|
|
};
|
|
};
|
|
}
|