#!/bin/bash # Tdarr Mapped Node with GPU Support - NVMe Cache Optimization # This script starts a mapped Tdarr node with local NVMe cache set -e CONTAINER_NAME="tdarr-node-gpu-mapped" SERVER_IP="10.10.0.43" SERVER_PORT="8266" # Standard server port NODE_NAME="nobara-pc-gpu-mapped" echo "🚀 Starting MAPPED Tdarr Node with GPU support using Podman..." # Stop and remove existing container if it exists if podman ps -a --format "{{.Names}}" | grep -q "^${CONTAINER_NAME}$"; then echo "🛑 Stopping existing container: ${CONTAINER_NAME}" podman stop "${CONTAINER_NAME}" 2>/dev/null || true podman rm "${CONTAINER_NAME}" 2>/dev/null || true fi # Start Tdarr node with GPU support - MAPPED VERSION echo "🎬 Starting Mapped Tdarr Node container..." podman run -d --name "${CONTAINER_NAME}" \ --gpus all \ --restart unless-stopped \ -e TZ=America/Chicago \ -e UMASK_SET=002 \ -e nodeName="${NODE_NAME}" \ -e serverIP="${SERVER_IP}" \ -e serverPort="${SERVER_PORT}" \ -e inContainer=true \ -e ffmpegVersion=6 \ -e logLevel=DEBUG \ -e NVIDIA_DRIVER_CAPABILITIES=all \ -e NVIDIA_VISIBLE_DEVICES=all \ -v "/mnt/NV2/tdarr-cache:/cache" \ -v "/mnt/media/TV:/media/TV" \ -v "/mnt/media/Movies:/media/Movies" \ -v "/mnt/media/tdarr/tdarr-cache-clean:/temp" \ ghcr.io/haveagitgat/tdarr_node:latest echo "⏳ Waiting for container to initialize..." sleep 5 # Check container status if podman ps --format "{{.Names}}" | grep -q "^${CONTAINER_NAME}$"; then echo "✅ Mapped Tdarr Node is running successfully!" echo "" echo "📊 Container Status:" podman ps --filter "name=${CONTAINER_NAME}" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}" echo "" echo "🔍 Testing GPU Access:" if podman exec "${CONTAINER_NAME}" nvidia-smi --query-gpu=name --format=csv,noheader,nounits 2>/dev/null; then echo "🎉 GPU is accessible in container!" else echo "⚠️ GPU test failed, but container is running" fi echo "" echo "🌐 Connection Details:" echo " Server: ${SERVER_IP}:${SERVER_PORT}" echo " Node Name: ${NODE_NAME}" echo " Web UI: http://${SERVER_IP}:8265" echo "" echo "📋 Container Management:" echo " View logs: podman logs ${CONTAINER_NAME}" echo " Stop: podman stop ${CONTAINER_NAME}" echo " Remove: podman rm ${CONTAINER_NAME}" else echo "❌ Failed to start container" echo "📋 Checking logs..." podman logs "${CONTAINER_NAME}" --tail 10 exit 1 fi