Does anyone have a compose.yaml for an Nvidia GPU that works that they would like to share? Here’s my current file, it gives a white screen with “server error” on it: https://pastebin.com/AaV17cTz

I went through Jellyfin’s instructions on setting a GPU up, but the instructions weren’t clear (in my opinion) so who knows if it’s correct. I installed some Nvidia tools as a prerequisite and ‘nvidia-smi’ shows the card. I attached my Jellyfin settings from before it self-destructed according to Nvidia’s transcoding matrix (which also wasn’t descriptive enough in my opinion), do they look right for a 2080?

Update: after making this post, and changing nothing, it suddenly works

  • antsu@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    5
    ·
    5 hours ago

    I had the same problem: Debian host + official Jellyfin Docker image, all set up according to the official guide, but it would fail to transcode anything.

    There was no relevant information about what was wrong in the logs so what I did was:

    • Copy the ffmpeg command from the logs.
    • docker exec -it into the Jellyfin container.
    • run the same ffmpeg command manually so I could see the error directly.

    Long story short, because the Nvidia toolkit uses the driver/libraries from the host, the error was that I was missing the library libnvidia-encode1 on the host. After installing that, everything works as it should.

  • TRBoom@lemmy.zip
    link
    fedilink
    English
    arrow-up
    3
    ·
    19 hours ago

    Here’s mine, no judging for how I set the ip

    name: jellyfin
    services:
        jellyfin:
            container_name: jellyfin.live
            networks:
                mynet:
                    ipv4_address: 192.168.5.3
            ports:
                - 8096:8096
            volumes:
                - jellyfin-config:/config
                - jellyfin-cache:/cache
                - type: bind
                  source: /mnt
                  target: /Media Disk 1
                - type: bind
                  source: /mnt
                  target: /Media Disk 2
                - type: bind
                  source: /mnt
                  target: /Media Disk 3
            environment:
                - HEALTHCHECK_URL=192.168.5.3
            restart: unless-stopped
            deploy:
                resources:
                    reservations:
                        devices:
                            - driver: nvidia
                              count: all
                              capabilities:
                                  - gpu
            image: jellyfin/jellyfin:latest
    networks:
        mynet:
            external: true
            name: mynet
    volumes:
        jellyfin-config:
            external: true
            name: jellyfin-config
        jellyfin-cache:
            external: true
            name: jellyfin-cache
    
    

    The section on the GPU looks like yours. I had to do something to get it working, but it’s been forever.

  • the_shwa@programming.dev
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    1
    ·
    17 hours ago

    This works for me, rtx 4050

    services: jellyfin: image: jellyfin/jellyfin:latest container_name: jellyfin user: 108:114 network_mode: ‘host’ environment: - JELLYFIN_CACHE_DIR=/var/cache/jellyfin - JELLYFIN_CONFIG_DIR=/etc/jellyfin - JELLYFIN_DATA_DIR=/var/lib/jellyfin - JELLYFIN_LOG_DIR=/var/log/jellyfin - JELLYFIN_PublishedServerUrl=URL_REDACTED - NVIDIA_DRIVER_CAPABILITIES=all - NVIDIA_VISIBLE_DEVICES=all volumes: - /etc/jellyfin:/etc/jellyfin - /mnt/driveF/jellyfin/cache:/var/cache/jellyfin - /mnt/driveF/jellyfin/data:/var/lib/jellyfin - /mnt/driveF/jellyfin/log:/var/log/jellyfin - /mnt/Movies:/movies - /mnt/TV:/tv - /mnt/Music:/music runtime: nvidia deploy: resources: reservations: devices: - driver: nvidia count: all capabilities: [gpu] restart: ‘unless-stopped’ extra_hosts: - “host.docker.internal:host-gateway”

  • jia_tan@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    4
    arrow-down
    1
    ·
    19 hours ago

    I have an intel igpu. It was hella painful to pass through the guy into a normal container and I never figured it out. I just ended up running the container with the —privileged flag. QuickSync hwaccel works fine now, I assume it would be the same for NVENC, since the flag basically just passes everything to the container.

    • DonutsRMeh@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      18 hours ago

      Man, I have an intel iGPU myself, in a little Dell optiplex 7090 and it was a breeze on my Debian sever. Installed through apt and it’s running as a systemd service. No issues so far. Only one issue I had was when I played a 70GB 4k HDR movie that’s loaded with audio and subs and picture enhancements on my OLED TV. The server’s little fan was screaming and the movie kept pausing every 20 seconds. Other than that I have a ton of other movies and shows and I have no issues.

    • Ebby@lemmy.ssba.com
      link
      fedilink
      English
      arrow-up
      2
      ·
      18 hours ago

      I use Intel too and had a heck of a time getting things working with portainer. Turns out portainer only worked with Nvidia (at least the version I used when I set it up). If I spun up the container via terminal, it worked.

      I think a newer version may have added compatibility because I don’t remember jumping through hoops with Immich.

  • HybridSarcasm@lemmy.worldM
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    1
    ·
    19 hours ago

    The biggest concern here would be 1) have you installed the Nvidia container toolkit, and 2) how are you passing the GPU into the Jellyfin docker container.

    I’ve got an Ansible-playbook that takes care of the Nvidia stuff. I’ve also got a compose file I can share. Will edit this post when I can provide a link.

      • Kushan@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        4 hours ago

        In your compose file, make sure you’ve added runtime: nvidia.

        You also don’t need to deploy the resources and reserve the GPU, you can remove the entire deploy section when using the nvidia runtime.

  • LadyMeow@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    1
    ·
    16 hours ago

    Here are some relevant stuff, also have nvidia drivers and vids libs installed.

    Running in a podman quadlet on fedora

    After=nvidia-cdi-generator

    [Container]

    Image=docker.io/jellyfin/jellyfin

    PodmanArgs=–privileged --gpus=all

    Environment=NVIDIA_VISIBLE_DEVICES=all

    AddDevice=/dev/dri/card0:/dev/dri/card0