--- title: "Tdarr Ubuntu-Manticore Setup" description: "Setup guide for Tdarr server and GPU node on ubuntu-manticore (10.10.0.226) with GTX 1070, including Docker Compose config, GPU/NVENC capabilities, B-frame limitations, migration steps from old server, and performance benchmarks." type: guide domain: tdarr tags: [tdarr, ubuntu-manticore, docker, nvidia, gtx-1070, nvenc, hevc, migration] --- # Tdarr Setup on ubuntu-manticore ## Overview Tdarr server and GPU-accelerated node deployed on ubuntu-manticore (10.10.0.226) with NVIDIA GTX 1070 for hardware transcoding. Migrated from old server at 10.10.0.43. **Date**: 2025-12-04 ## Architecture ``` ubuntu-manticore (10.10.0.226) ├── tdarr-server (container) │ ├── Web UI: http://10.10.0.226:8265 │ ├── Node Port: 8266 │ └── Data: ~/docker/tdarr/server-data/ ├── tdarr-node (container) │ ├── Node Name: manticore-gpu │ ├── GPU: GTX 1070 (NVENC/NVDEC) │ └── Cache: /mnt/NV2/tdarr-cache (NVMe) └── Media: /mnt/truenas/media (CIFS mount) ``` ## Docker Compose Configuration **Location**: `~/docker/tdarr/docker-compose.yml` ```yaml version: "3.8" services: tdarr: image: ghcr.io/haveagitgat/tdarr:latest container_name: tdarr-server restart: unless-stopped ports: - "8265:8265" # Web UI - "8266:8266" # Server port (for nodes) environment: - PUID=1000 - PGID=1000 - TZ=America/Chicago - serverIP=0.0.0.0 - serverPort=8266 - webUIPort=8265 volumes: - ./server-data:/app/server - ./configs:/app/configs - ./logs:/app/logs - /mnt/truenas/media:/media tdarr-node: image: ghcr.io/haveagitgat/tdarr_node:latest container_name: tdarr-node restart: unless-stopped environment: - PUID=1000 - PGID=1000 - TZ=America/Chicago - serverIP=tdarr - serverPort=8266 - nodeName=manticore-gpu volumes: - ./node-data:/app/configs - /mnt/truenas/media:/media - /mnt/NV2/tdarr-cache:/temp deploy: resources: reservations: devices: - driver: nvidia count: all capabilities: [gpu] depends_on: - tdarr ``` ## GPU Configuration ### Hardware - **GPU**: NVIDIA GeForce GTX 1070 (Pascal architecture) - **Driver**: 570.195.03 - **CUDA**: 12.8 ### NVENC Capabilities | Encoder | Supported | Working | |---------|-----------|---------| | h264_nvenc | Yes | Yes | | hevc_nvenc | Yes | Yes | | av1_nvenc | Yes | No (requires Turing+) | ### Important Limitation: B-Frames **GTX 1070 does NOT support B-frames for HEVC encoding** (Pascal limitation). If using `Tdarr_Plugin_MC93_Migz1FFMPEG` or similar plugins: - Set `enable_bframes` to `false` - Otherwise you'll get: `Max B-frames 5 exceed 0` / `No capable devices found` B-frame support for HEVC NVENC requires RTX 20-series (Turing) or newer. ## Migration from Old Server ### Source - **Server**: 10.10.0.43 (ubuntu-ct, SSH alias: `tdarr`) - **Container**: tdarr-clean - **Data**: `/home/cal/container-data/tdarr/tdarr-clean/server/` (~4.4GB) ### Migration Process ```bash # Stop old server ssh tdarr "docker stop tdarr-clean" # Pull data to local workstation (relay) rsync -avz --progress tdarr:/home/cal/container-data/tdarr/tdarr-clean/server/ /tmp/tdarr-server-data/ # Push to new server rsync -avz --progress /tmp/tdarr-server-data/ cal@10.10.0.226:/home/cal/docker/tdarr/server-data/ # Start new server ssh cal@10.10.0.226 "cd ~/docker/tdarr && docker compose up -d" ``` ## Performance ### Observed Speeds - **1080p H.264 → HEVC**: 200+ fps (~8-9x real-time) - **GPU Utilization**: 30-60% encoder, 40-70% decoder - **Power Draw**: ~52W during transcoding (166W max) ### Monitoring GPU Usage ```bash # Basic status nvidia-smi # Detailed encoder/decoder utilization nvidia-smi dmon -s u ``` ### Recommended Settings - **GPU Workers**: 1 (leaves headroom for Jellyfin) - **CPU Workers**: 0 (GPU-only transcoding) ## Troubleshooting ### Error: "Max B-frames X exceed 0" **Cause**: Plugin configured with B-frames, but GTX 1070 doesn't support them for HEVC **Fix**: Disable `enable_bframes` in the plugin settings ### Error: "No capable devices found" **Cause**: Usually means incompatible encoding parameters, not missing GPU **Check**: Run `nvidia-smi` inside container to verify GPU access: ```bash docker exec tdarr-node nvidia-smi ``` ### Slow File Copy (0% progress) **Cause**: Large files copying from network share to local cache **Expected**: ~90 seconds for 10GB file over gigabit **Note**: This is normal for mapped node architecture - file must copy before transcoding starts ## Related Documentation - Server inventory: `networking/server-inventory.md` - Tdarr technology context: `tdarr/CONTEXT.md` - Tdarr troubleshooting: `tdarr/troubleshooting.md`