CLAUDE: Add Tdarr ubuntu-manticore setup guide
- Document Tdarr node setup on ubuntu-manticore - Include GPU configuration and container setup 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
c8dcf2b5ee
commit
66d2a4bda7
162
tdarr/ubuntu-manticore-setup.md
Normal file
162
tdarr/ubuntu-manticore-setup.md
Normal file
@ -0,0 +1,162 @@
|
||||
# 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`
|
||||
Loading…
Reference in New Issue
Block a user