Fresh install of 24.10 with a Nvidia T600 card, Nvidia driver is installed.
All looks fine, I can run “nvidia-smi” (in docker container and TrueNAS shell) and Tdarr itself states “Transcode GPU” (instead of “Transcode CPU”). So all looks fine.
But transcoding is extremely slow and Netdata (with the nvidia-smi plugin) shows an Nvidia GPU utilization of 0% so it’s clearly not working.
Any idea how I can debug this?
For reference here is my working Tdarr stack
networks:
main:
name: main
external: true
services:
tdarr:
hostname: tdarr
image: ghcr.io/haveagitgat/tdarr:${VERSION}
container_name: tdarr
user: 0:5000
expose:
- 8265
- 8266
restart: unless-stopped
environment:
- TZ=${TZ}
- PUID=5000
- PGID=5000
- UMASK_SET=002
- serverIP=0.0.0.0
- serverPort=8266
- webUIPort=8265
- internalNode=false
- inContainer=true
- ffmpegVersion=6
- nodeName=MyInternalNode
networks:
- main
labels:
- traefik.enable=true
- traefik.http.routers.tdarr.entrypoints=websecure
- traefik.http.routers.tdarr.rule=Host(`${TDARR_DN}`)
- traefik.http.routers.tdarr.tls=true
- traefik.http.services.tdarr.loadbalancer.server.port=8265
- traefik.http.routers.tdarr.middlewares=authelia@docker
deploy:
resources:
limits:
cpus: "8"
memory: 8G
volumes:
- ${TDARR_SERVER}:/app/server
- ${TDARR_CONFIG}:/app/configs
- ${TDARR_LOGS}:/app/logs
- ${MEDIA}:/media
- ${TDARR_CACHE}:/temp
- ${TDARR_ALTERNATE_LIBRARY}:/alternate_library
tdarr-cpu-node:
image: ghcr.io/haveagitgat/tdarr_node:${VERSION}
container_name: tdarr-cpu-node
restart: unless-stopped
network_mode: service:tdarr
environment:
- TZ=${TZ}
- PUID=5000
- PGID=5000
- UMASK_SET=002
- nodeName=CPU
- serverIP=0.0.0.0
- serverPort=8266
- inContainer=true
- ffmpegVersion=6
volumes:
- ${NODE_CPU_CONFIG}:/app/configs
- ${NODE_CPU_LOGS}:/app/logs
- ${MEDIA}:/media
- ${TDARR_CACHE}:/temp
- ${TDARR_ALTERNATE_LIBRARY}:/alternate_library
deploy:
resources:
limits:
cpus: "8"
memory: 8G
tdarr-gpu-node:
image: ghcr.io/haveagitgat/tdarr_node:${VERSION}
container_name: tdarr-gpu-node
runtime: nvidia
restart: unless-stopped
network_mode: service:tdarr
environment:
- TZ=${TZ}
- PUID=5000
- PGID=5000
- UMASK_SET=002
- nodeName=GPU
- serverIP=0.0.0.0
- serverPort=8266
- inContainer=true
- ffmpegVersion=6
- NVIDIA_VISIBLE_DEVICES=${NVIDIA_2060}
volumes:
- ${NODE_GPU_CONFIG}:/app/configs
- ${NODE_GPU_LOGS}:/app/logs
- ${MEDIA}:/media
- ${TDARR_CACHE}:/temp
- ${TDARR_ALTERNATE_LIBRARY}:/alternate_library
deploy:
resources:
limits:
cpus: "8"
memory: 8G
I have found tdarr needs
runtime: nvidia
and
environment:
- NVIDIA_VISIBLE_DEVICES=all
If you are getting the base tdarr program up with no nodes
something like this
networks:
main:
name: main
external: true
services:
tdarr:
hostname: tdarr
image: ghcr.io/haveagitgat/tdarr:${VERSION}
container_name: tdarr
runtime: nvidia
user: 0:5000
expose:
- 8265
- 8266
restart: unless-stopped
environment:
- TZ=${TZ}
- PUID=5000
- PGID=5000
- UMASK_SET=002
- serverIP=0.0.0.0
- serverPort=8266
- webUIPort=8265
- internalNode=true
- inContainer=true
- ffmpegVersion=6
- nodeName=MyInternalNode
- NVIDIA_VISIBLE_DEVICES=all
networks:
- main
volumes:
- ${TDARR_SERVER}:/app/server
- ${TDARR_CONFIG}:/app/configs
- ${TDARR_LOGS}:/app/logs
- ${MEDIA}:/media
- ${TDARR_CACHE}:/temp
Bear in mind you would need to clean up the
network, user, and the paths based on your use case
also check in the tdarr container your GPU with an nvidia smi should be there… it is how a juggle a multiple nvidia card system by assigning apps a specific card… Also use a tdarr plugin that is nvidia only that way it will never transcode with CPU as a fall back
Will check my yaml files, thanks!