Hello and my thanks to everyone at LSIO for everything they do!
Here is my docker compose:
jellyfin:
image: lscr.io/linuxserver/jellyfin:latest
container_name: jellyfin
environment:
- PUID=1000
- PGID=1000
- TZ=America/Vancouver
- NVIDIA_VISIBLE_DEVICES=all
volumes:
- ./dockerdata/jellyfin/config:/config
- /media/TV:/data/TV
- /media/Movies:/data/Movies
runtime: nvidia
ports:
- 8096:8096
- 8920:8920 #optional
- 7359:7359/udp #optional
- 1900:1900/udp #optional
restart: unless-stopped
I run the build with the command:
docker compose up -d --build
The output is
⠋ Container jellyfin Creating 0.0s
Error response from daemon: unknown or invalid runtime name: nvidia
I am running this on a 64-bit Ubuntu 22.04.5 with the NVIDIA driver metapackage from nividia-driver-535 (proprietary). I have a NVIDIA 1660 Super card.
The Nvidia Container Toolkit is installed at version 1.17.3 according to the instructions including the Configuration and Rootless mode sections and I have modified the /etc/nvidia-container-runtime/config.html file to “no-cgroups = false”. This change allowed me to run:
name@UBUNTU:$ sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi
Sun Jan 5 02:40:21 2025
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.183.01 Driver Version: 535.183.01 CUDA Version: 12.2 |
|-----------------------------------------+----------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+======================+======================|
| 0 NVIDIA GeForce GTX 1660 ... Off | 00000000:07:00.0 On | N/A |
| 0% 40C P8 14W / 130W | 931MiB / 6144MiB | 2% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
+---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
+---------------------------------------------------------------------------------------+
The daemon.json files all have the nvidia runtime section ($HOME/.docker, $HOME/.config/docker and :
"experimental": false,
"runtimes": {
"nvidia": {
"args": [],
"path": "nvidia-container-runtime"
}
}
Docker compose is version 2.31.0-desktop.2, while ‘docker version’ gives me
Client: Docker Engine - Community
Version: 27.4.1
API version: 1.47
Go version: go1.22.10
Git commit: b9d17ea
Built: Tue Dec 17 15:45:42 2024
OS/Arch: linux/amd64
Context: desktop-linux
Server: Docker Desktop 4.37.1 (178610)
Engine:
Version: 27.4.0
API version: 1.47 (minimum version 1.24)
Go version: go1.22.10
Git commit: 92a8393
Built: Sat Dec 7 10:38:57 2024
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.7.21
GitCommit: 472731909fa34bd7bc9c087e4c27943f9835f111
runc:
Version: 1.1.13
GitCommit: v1.1.13-0-g58aa920
docker-init:
Version: 0.19.0
GitCommit: de40ad0
Docker is installed via APT, not Snap. Docker Desktop is also the latest version, installed from the .deb file.
I have also installed the nvidia-decode-535 and nvidia-encode-535 packages. I have done many daemon restarts and reboots.
I have followed all the instructions to the letter and still get this message.
Next, I’m going to try just using the run command, but that is clearly not ideal. However the run command seems to work when I pulled up the nvidia-smi information with the nvidia runtime. Maybe I am wording it wrong in the compose file? Maybe compose doesn’t work with the nvidia runtime? I have tried using the official Jellyfin docker image and get the same message.
If that doesn’t work, I may just try to bump up the drivers to 550. If that doesn’t work, I may just start over and bump Ubuntu up to 24.04 and get a fresh start.
Thanks for any help!