Introducing our new CEO Don Johnson - Read More

eisai/jellyfin-nvidia

By eisai

Updated 19 days ago

Jellyfin for Windows Containers with NVENC ready.

Image
Content Management System
1

191

Jellyfin for Windows containers with NVENC ready.

Using mcr.microsoft.com/windows/server:ltsc2022 as the base image, so it's quite big.
(FFmpeg refuses to work under other smaller images.)

Only Windows build version 20348 or newer are supported (Win11, Server2022)
Hyper-V or CUDA toolkits are not required

Preparation

Create the following folders, because docker will not automatically create folders for mount on Windows.

jellyfin
├───data
└───docker-compose.yaml

On Windows, there is no network driver of "host", we can only use a hyper-v switch with external mode. (Does not require hyper-v installed)
Also, the container's MAC address will change after each re-creation, so the static IP may be the only option left if you still want to use DLNA. The following configuration is based on that.

Docker Compose

If you want DLNA:

version: "3.8"

networks:
  jellyfin:
    driver: transparent
    ipam:
      config:
        - subnet: 192.168.1.0/24         # CHANGE IT, your local subnet
          gateway: 192.168.1.1         # CHANGE IT, your gateway
    driver_opts:
      com.docker.network.windowsshim.dnsservers: "192.168.1.1"         # CHANGE IT, your DNS
      com.docker.network.windowsshim.interface: "Ethernet"         # CHANGE IT, name of your NIC that jellyfin will bridge to
      com.docker.network.windowsshim.networkname: "Docker_Transparent"

services:
  jellyfin:
    container_name: jellyfin
    image: eisai/jellyfin-nvidia
    isolation: process
    networks: 
      jellyfin:
        ipv4_address: 192.168.1.2         # CHANGE IT, the IP address you want jellyfin to use
    volumes:
      - '.\data:c:\data'
      - 'e:\:c:\media\music:ro'         # CHANGE IT, path to your library
      - 'f:\:c:\media\videos:ro'
    devices:
      - class/5B45201D-F2F2-4F3B-85BB-30FF1F953599     # Passing GPU, Dont Change. Delete this block if you dont want to use GPU

If you don't care about DLNA:

version: "3.8"

networks:
  jellyfin:

services:
  jellyfin:
    container_name: jellyfin
    image: eisai/jellyfin-nvidia
    isolation: process
    networks: 
      - jellyfin
    volumes:
      - '.\data:c:\data'
      - 'e:\:c:\media\music:ro'         # CHANGE IT, path to your library
      - 'f:\:c:\media\videos:ro'
    devices:
      - class/5B45201D-F2F2-4F3B-85BB-30FF1F953599     # Passing GPU, Dont Change. Delete this block if you dont want to use GPU

Reference

Mount a global SMB share, so you can mount it into the container later

$creds = Get-Credential
New-SmbGlobalMapping -RemotePath "\\fs1.contoso.com\public" -Credential $creds -LocalPath G: -Persistent $true

https://learn.microsoft.com/en-us/virtualization/windowscontainers/manage-containers/persistent-storage#smb-mounts

Jellyfin document
https://jellyfin.org/docs/

This Image
https://github.com/Eisaichen/jellyfin-win-docker

Install an ultralight docker engine on Windows
https://eisaichen.com/?p=76

Docker Pull Command

docker pull eisai/jellyfin-nvidia