claude-home/tdarr/ubuntu-manticore-setup.md
Cal Corum 4b7eca8a46
All checks were successful
Reindex Knowledge Base / reindex (push) Successful in 3s
docs: add YAML frontmatter to all 151 markdown files
Adds title, description, type, domain, and tags frontmatter to every
doc for improved KB semantic search. The description field is prepended
to every search chunk, and domain/type/tags enable filtered queries.

Type values: context, guide, runbook, reference, troubleshooting
Domain values match directory structure (networking, docker, etc.)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 09:00:44 -05:00

4.8 KiB

title description type domain tags
Tdarr Ubuntu-Manticore Setup 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. guide tdarr
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

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

# 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

# Basic status
nvidia-smi

# Detailed encoder/decoder utilization
nvidia-smi dmon -s u
  • 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:

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

  • Server inventory: networking/server-inventory.md
  • Tdarr technology context: tdarr/CONTEXT.md
  • Tdarr troubleshooting: tdarr/troubleshooting.md