Tdarr Node Setup Guide - ajgillis04/GillisDockerDepot GitHub Wiki

Tdarr Node Setup Guide


Linux Tdarr Node Setup


Requirements

  • Linux host (Ubuntu, Debian, Fedora, etc.)
  • Docker or Docker Compose installed
  • Tdarr Server running elsewhere on your network

Step 1 β€” Create Your .env File

Example:

TZ=America/Toronto
PUID=1000
PGID=1000
UMASK_SET=002
HOST_NAME=MyLinuxNode
TDARR_SERVERIP=192.168.1.10
TDARR_SERVER_PORT=8266
MEDIASHARE=/mnt/media
DOCKERDIR=/opt/docker

Step 2 β€” Docker Compose

Example:

services:
  tdarr_node:
    container_name: tdarr_node.${HOST_NAME}
    hostname: tdarr_node.${HOST_NAME}.lan
    image: haveagitgat/tdarr_node:2.58.01
    environment:
      TZ: ${TZ}
      PGID: ${PGID}
      PUID: ${PUID}
      UMASK_SET: 002
      nodeName: tdarr_node.${HOST_NAME}
      serverIP: ${TDARR_SERVERIP}
      serverPort: ${TDARR_SERVER_PORT}
      inContainer: true # Tell tdarr its running in docker      
      serverURL: http://${TDARR_SERVERIP}:${TDARR_SERVER_PORT}
      # NVIDIA_DRIVER_CAPABILITIES: all
      # NVIDIA_VISIBLE_DEVICES: all
    networks:
      - mediaserver
    ports:
      - "${TDARR_NODE_PORT}:8267"
    cap_add:
      - SYS_NICE
      - SYS_RESOURCE
    volumes:
      - ${DOCKERDIR}/tdarr/app/configs:/app/configs
      - ${DOCKERDIR}/tdarr/cache:/cache
      - /dev/shm/tdarr:/temp # offload transcoding to memory
      - ${MEDIASHARE}:/media
      - ${DOCKERDIR}/logs/tdarr_node:/app/logs
    restart: always
    security_opt:
      - no-new-privileges:true
    labels:
      ## Watchtower Enable
      - "com.centurylinklabs.watchtower.enable=false"

Step 3 β€” Start the Node

docker compose up -d

Troubleshooting (Linux)

  • ENOENT errors β†’ media path mismatch
  • Permission denied β†’ fix with chmod -R 775 folders and chmod -R 664 files
  • Node not connecting β†’ firewall or wrong server IP

Windows Tdarr Node Setup (WSL + Docker Desktop)


Requirements

  • Windows 10/11
  • Docker Desktop (WSL2 backend enabled)
  • WSL installed (Ubuntu recommended)
  • NAS share mapped to a drive letter

Step 1 β€” Map NAS Share in Windows

Example:

M: β†’ \\gillisnas\media

Step 2 β€” Expose the NAS Share Inside WSL

2.1 Edit /etc/fstab inside WSL

Open Ubuntu (WSL):

sudo nano /etc/fstab

Add:

M:  /mnt/m  drvfs  defaults  0  0

2.2 Edit /etc/wsl.conf inside WSL

sudo nano /etc/wsl.conf

Add:

[boot]
systemd=true

[automount]
enabled = true
root = /mnt/
options = "metadata,umask=22,fmask=11"
mountFsTab = true

2.3 Restart WSL

wsl --shutdown

Reopen Ubuntu and confirm:

ls /mnt/m

Step 3 β€” Update .env

MEDIASHARE=/mnt/m

Step 4 β€” Docker Compose for Windows Node

services:
  tdarr_node:
    container_name: tdarr_node.${HOST_NAME}
    hostname: tdarr_node.${HOST_NAME}.lan
    image: haveagitgat/tdarr_node:2.58.01
    environment:
      TZ: ${TZ}
      PGID: ${PGID}
      PUID: ${PUID}
      UMASK_SET: 002
      nodeName: tdarr_node.${HOST_NAME}
      serverIP: ${TDARR_SERVERIP}
      serverPort: ${TDARR_SERVER_PORT}
      inContainer: true
      serverURL: http://${TDARR_SERVERIP}:${TDARR_SERVER_PORT}
    volumes:
      - ${DOCKERDIR}/tdarr/app/configs:/app/configs
      - ${DOCKERDIR}/tdarr/cache:/cache
      - /dev/shm/tdarr:/temp
      - ${MEDIASHARE}:/media
      - ${DOCKERDIR}/logs/tdarr_node:/app/logs
    networks:
      - mediaserver
    restart: always

Step 5 β€” Start the Node

docker compose up -d

Windows Node β€” Fix for /cache Permission Errors

Windows Tdarr Nodes require a writable /cache directory inside the container.
If the node log shows errors like:

Error creating workDir: "/cache/tdarr-workDir..."
EACCES: permission denied
Location not writeable:/cache

then the cache directory on the Windows host does not have proper permissions.

Fix

  1. Ensure the cache folder exists on the Windows host:

    C:\Docker\GillisDockerDepot\appdata\tdarr\cache
    
  2. Inside WSL (Ubuntu), run:

    sudo chmod -R 777 /mnt/c/Docker/GillisDockerDepot/appdata/tdarr/cache
  3. Restart the node:

    docker restart tdarr_node.<HOSTNAME>

Why this is required

Docker Desktop β†’ WSL β†’ NTFS can strip write permissions.
Tdarr needs full read/write access to /cache to create temporary work directories.
Without this fix, the node will pause itself and never pick up jobs.


Step 6 β€” Optional: Limit CPU for Gaming PCs

Option A β€” Limit threads in Tdarr Node settings

Max CPU Threads: 4–6

Option B β€” Pin Tdarr to E‑cores

Add:

cpuset: "8-23"

Troubleshooting (Windows)

Node pauses with ENOENT

Cause: container cannot see /media/...

Fix checklist:

  • Windows maps NAS β†’ M:\
  • WSL mounts β†’ /mnt/m
  • Docker mounts β†’ /media

Node stops when PC sleeps

Fix:

  • Use PowerToys Awake
  • Or disable sleep during processing

Summary

  • Linux: simple, native Docker, direct mounts
  • Windows: requires
⚠️ **GitHub.com Fallback** ⚠️