A Docker container that manages Tdarr nodes based on Plex transcoding activity. This tool helps optimize your GPU usage by dynamically adjusting Tdarr workers or stopping Tdarr completely when Plex needs transcoding resources.
Variable | Description | Example |
---|---|---|
TDARR_NODE_LOG_PATH |
Path to your Tdarr Node log file | /tdarr/logs/Tdarr_Node_Log.txt |
TDARR_ALTER_WORKERS |
Whether to adjust workers or kill container | true or false |
TDARR_DEFAULT_LIMIT |
Maximum number of GPU workers | 3 |
TAUTULLI_URL |
URL to your Tautulli API | http://10.0.0.10:8181/api/v2 |
TAUTULLI_API_KEY |
Your Tautulli API key | abcdef1234567890 |
TDARR_API_URL |
URL to your Tdarr server | http://10.0.0.10:8265 |
CONTAINER_NAME |
Name of your Tdarr Node container | tdarr_node |
OFFSET_THRESHOLD |
Transcodes to start reducing GPU workers | 1 |
TRANSCODE_THRESHOLD |
Transcodes to kill the Tdarr node | 1 |
RESTART_DELAY |
Delay before restarting workers/node | 30 |
This mode dynamically adjusts the number of Tdarr GPU workers based on Plex transcoding activity, allowing both Plex and Tdarr to share your GPU resources. When Plex needs more resources for transcoding, Huntarr automatically reduces Tdarr workers to ensure smooth playback. When transcoding stops, Tdarr workers are restored.
Docker Run:
docker run -d \
--name huntarr-tdarr \
--restart unless-stopped \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-e TAUTULLI_URL=http://10.0.0.10:8181/api/v2 \
-e TAUTULLI_API_KEY=your_api_key \
-e TDARR_API_URL=http://10.0.0.10:8265 \
-e TDARR_NODE_LOG_PATH=/tdarr/logs/Tdarr_Node_Log.txt \
-e TDARR_ALTER_WORKERS=true \
-e TDARR_DEFAULT_LIMIT=3 \
-e CONTAINER_NAME=tdarr_node \
-e OFFSET_THRESHOLD=1 \
huntarr/4tdarr:latest
Docker Compose:
version: '3'
services:
huntarr-tdarr:
image: huntarr/4tdarr:latest
container_name: huntarr-tdarr
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
- TAUTULLI_URL=http://10.0.0.10:8181/api/v2
- TAUTULLI_API_KEY=your_api_key
- TDARR_API_URL=http://10.0.0.10:8265
- TDARR_NODE_LOG_PATH=/tdarr/logs/Tdarr_Node_Log.txt
- TDARR_ALTER_WORKERS=true
- TDARR_DEFAULT_LIMIT=3
- CONTAINER_NAME=tdarr_node
- OFFSET_THRESHOLD=1
With this configuration:
- Maximum of 3 GPU workers when no transcodes are active
- With
OFFSET_THRESHOLD=1
:- 0 transcodes → 3 workers
- 1 transcode → 3 workers
- 2 transcodes → 2 workers
- 3 transcodes → 1 worker
- 4+ transcodes → 0 workers
This mode completely stops the Tdarr container when Plex transcoding is detected. This is ideal for systems with limited GPU resources where Plex and Tdarr cannot effectively run simultaneously. When transcoding is detected, the Tdarr node is immediately stopped, and it will only restart when transcoding activity has ceased for the specified delay period.
Docker Run:
docker run -d \
--name huntarr-tdarr \
--restart unless-stopped \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-e TAUTULLI_URL=http://10.0.0.10:8181/api/v2 \
-e TAUTULLI_API_KEY=your_api_key \
-e TDARR_API_URL=http://10.0.0.10:8265 \
-e TDARR_NODE_LOG_PATH=/tdarr/logs/Tdarr_Node_Log.txt \
-e TDARR_ALTER_WORKERS=false \
-e TDARR_DEFAULT_LIMIT=2 \
-e CONTAINER_NAME=tdarr_node \
-e TRANSCODE_THRESHOLD=1 \
-e RESTART_DELAY=60 \
huntarr/4tdarr:latest
Docker Compose:
version: '3'
services:
huntarr-tdarr:
image: huntarr/4tdarr:latest
container_name: huntarr-tdarr
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
- TAUTULLI_URL=http://10.0.0.10:8181/api/v2
- TAUTULLI_API_KEY=your_api_key
- TDARR_API_URL=http://10.0.0.10:8265
- TDARR_NODE_LOG_PATH=/tdarr/logs/Tdarr_Node_Log.txt
- TDARR_ALTER_WORKERS=false
- TDARR_DEFAULT_LIMIT=2
- CONTAINER_NAME=tdarr_node
- TRANSCODE_THRESHOLD=1
- RESTART_DELAY=60
With this configuration:
- When a single transcode is detected, the entire Tdarr node is stopped immediately
- The node will restart only when all transcodes are finished and after the restart delay
RESTART_DELAY=60
means it will wait 60 seconds before restarting the node after transcodes stop
View the logs to monitor operations:
docker logs -f huntarr-tdarr
- If the application can't find the node ID, check that the
TDARR_NODE_LOG_PATH
is correct and that the container has access to the log file - If Docker operations fail, ensure that your container has access to the Docker socket
- Check Tautulli connection by verifying your API key and URL