Skip to content

05_Workflow_Integration

dnzbk edited this page Jul 9, 2025 · 1 revision

Workflow Integration

Learn how to integrate RemoveSamples into your media server workflow for optimal sample detection and removal.

🎯 Overview

RemoveSamples works best when properly integrated into your post-processing pipeline. This guide shows you how to configure it with popular media managers and optimize script execution order.

πŸ—οΈ Recommended Workflow Architecture

Standard Media Server Pipeline

Download β†’ Unpack β†’ RemoveSamples β†’ Additional Scripts β†’ Media Manager

Detailed Workflow

graph LR
    A[NZBGet Download] --> B[Par2 Check/Repair]
    B --> C[Unpack Archives]
    C --> D[RemoveSamples]
    D --> E[Other Extensions]
    E --> F[Sonarr/Radarr/Lidarr]
    F --> G[Media Library]
Loading

Why this order?

  • βœ… After Unpack: Files are extracted and accessible
  • βœ… Before Media Managers: Samples removed before processing
  • βœ… Before Other Scripts: Clean directory for subsequent processing

βš™οΈ NZBGet Category Configuration

Step 1: Access Category Settings

  1. Open NZBGet web interface
  2. Navigate to Settings β†’ Categories
  3. Select your category (Movies, TV Shows, etc.)
  4. Scroll to ExtensionScripts

Step 2: Add RemoveSamples

  1. Click the ExtensionScripts dropdown
  2. Select "RemoveSamples" from available extensions
  3. Click "Apply" or use the + button to add it

Step 3: Set Script Order

Recommended script order:

1. PasswordDetector (if used)
2. FakeDetector (if used)  
3. RemoveSamples ← Your extension
4. Clean (if used)
5. Other cleanup scripts

Example Category Configuration

Category: Movies
PostScript: 
ExtensionScripts: FakeDetector, RemoveSamples, Clean
DestDir: ${MainDir}/completed/movies

πŸ“Ί Integration with Media Managers

Sonarr Integration

Category Setup:

Category Name: tv
Dest Directory: /downloads/completed/tv
Extension Scripts: RemoveSamples
Post Script: (empty)

Sonarr Settings:

  • Download Client: NZBGet
  • Category: tv
  • Remote Path Mapping: Configure if needed

Benefits with RemoveSamples:

  • βœ… No sample episodes imported to library
  • βœ… Cleaner season folders without preview directories
  • βœ… Faster Sonarr processing with fewer files to scan

Radarr Integration

Category Setup:

Category Name: movies
Dest Directory: /downloads/completed/movies  
Extension Scripts: RemoveSamples
Post Script: (empty)

Radarr Settings:

  • Download Client: NZBGet
  • Category: movies
  • Minimum Availability: Based on your preference

Benefits with RemoveSamples:

  • βœ… No trailer/sample files in movie folders
  • βœ… Eliminated sample directories like SAMPLE/
  • βœ… Reduced false movie detections by Radarr

Lidarr Integration

Category Setup:

Category Name: music
Dest Directory: /downloads/completed/music
Extension Scripts: RemoveSamples
Post Script: (empty)

Lidarr Settings:

  • Download Client: NZBGet
  • Category: music
  • Audio Size Threshold: Consider lowering to 1MB for music

Benefits with RemoveSamples:

  • βœ… No 30-second preview tracks imported
  • βœ… Cleaner album folders without sample directories
  • βœ… Better audio quality with only full tracks

Prowlarr Integration

Category Setup:

Category Name: general
Dest Directory: /downloads/completed/general
Extension Scripts: RemoveSamples
Post Script: (empty)

Prowlarr Benefits:

  • βœ… Cleaner downloads regardless of content type
  • βœ… Consistent sample removal across all categories
  • βœ… Reduced manual cleanup needed

πŸ”„ Advanced Workflow Scenarios

Scenario 1: Multiple Media Managers

Setup: Sonarr + Radarr + Lidarr on same NZBGet instance

Category Configuration:

# TV Shows
Category: tv
ExtensionScripts: RemoveSamples
Video Size Threshold: 150 MB
Audio Size Threshold: 2 MB

# Movies  
Category: movies
ExtensionScripts: RemoveSamples
Video Size Threshold: 200 MB (more conservative)
Audio Size Threshold: 2 MB

# Music
Category: music
ExtensionScripts: RemoveSamples
Video Size Threshold: 150 MB
Audio Size Threshold: 1 MB (more aggressive)

Scenario 2: Docker Environments

Docker Compose Integration:

services:
  nzbget:
    image: linuxserver/nzbget:latest
    container_name: nzbget
    volumes:
      - ./config:/config
      - ./scripts:/opt/nzbget/scripts  # RemoveSamples location
      - ./downloads:/downloads
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/New_York

  sonarr:
    image: linuxserver/sonarr:latest
    volumes:
      - ./downloads:/downloads  # Shared download path
    depends_on:
      - nzbget

  radarr:
    image: linuxserver/radarr:latest  
    volumes:
      - ./downloads:/downloads  # Shared download path
    depends_on:
      - nzbget

Path Mapping Considerations:

  • Container paths: Must match between NZBGet and media managers
  • RemoveSamples impact: Cleans files before media manager access
  • Volume sharing: Ensure consistent mount points

Scenario 2b: Unraid Docker Environment

Typical Unraid NZBGet Setup:

NZBGet Container:
β”œβ”€β”€ Config: /mnt/user/appdata/nzbget/
β”œβ”€β”€ Scripts: /mnt/user/appdata/nzbget/scripts/
β”œβ”€β”€ Downloads: /mnt/user/downloads/nzbget/
└── User: nobody:users (99:100)

Media Manager Containers:
β”œβ”€β”€ Sonarr: /mnt/user/downloads/nzbget/completed/tv/
β”œβ”€β”€ Radarr: /mnt/user/downloads/nzbget/completed/movies/
└── User: nobody:users (99:100)

Unraid Integration Benefits:

  • βœ… Shared user/group (nobody:users) across containers
  • βœ… Consistent paths via /mnt/user/ mounts
  • βœ… Persistent configuration in appdata
  • βœ… Easy container management via Unraid UI

Unraid Category Setup Example:

Category: movies
Dest Directory: /downloads/completed/movies
Extension Scripts: RemoveSamples
# Maps to: /mnt/user/downloads/nzbget/completed/movies on host

Scenario 3: Complex Script Chains

Advanced script order for power users:

1. PasswordDetector    # Handle password-protected files
2. FakeDetector        # Remove fake/spam downloads  
3. RemoveSamples       # Clean sample files/directories
4. Unrar               # Additional unpack if needed
5. Clean               # Final cleanup
6. Notify              # Send notifications

πŸŽ›οΈ Category-Specific Configurations

High-Quality Movies (4K/Remux)

Category: movies-4k
ExtensionScripts: RemoveSamples
Video Size Threshold: 500 MB  # Larger samples for 4K
Audio Size Threshold: 5 MB     # High-quality audio samples
Remove Directories: Yes
Remove Files: Yes
Debug: No

TV Shows (Standard Quality)

Category: tv-standard
ExtensionScripts: RemoveSamples
Video Size Threshold: 150 MB  # Standard TV samples
Audio Size Threshold: 2 MB
Remove Directories: Yes
Remove Files: Yes
Debug: No

Music (Lossless)

Category: music-flac
ExtensionScripts: RemoveSamples
Video Size Threshold: 150 MB  # Video samples in music releases
Audio Size Threshold: 10 MB   # Conservative for lossless
Remove Directories: Yes
Remove Files: Yes
Debug: No

Anime/Foreign Content

Category: anime
ExtensionScripts: RemoveSamples
Video Size Threshold: 100 MB  # Smaller anime samples
Audio Size Threshold: 2 MB
Remove Directories: Yes
Remove Files: Yes
Debug: No

πŸ“Š Performance Optimization

Timing Considerations

RemoveSamples execution time:

  • Small downloads (< 1 GB): < 1 second
  • Medium downloads (1-10 GB): 1-5 seconds
  • Large downloads (> 10 GB): 5-15 seconds
  • Huge downloads (> 50 GB): 15-30 seconds

Impact on overall workflow:

  • βœ… Minimal delay: Usually negligible in total processing time
  • βœ… Saves time later: Media managers process faster
  • βœ… Reduces disk I/O: Fewer files for subsequent operations

Resource Usage

CPU Impact: Very low (regex matching, file operations) Memory Impact: Minimal (processes files individually) Disk Impact: Positive (removes unnecessary files) Network Impact: None (local file operations only)

πŸ” Monitoring and Verification

Checking RemoveSamples Activity

Enable debug mode temporarily:

  1. Settings β†’ Extension Manager β†’ RemoveSamples
  2. Set Debug: Yes
  3. Process a test download
  4. Check logs in Settings β†’ Logging β†’ Messages
  5. Set Debug: No when satisfied

Look for log entries like:

[INFO] RemoveSamples: Processing directory: /downloads/Movie.Name.2023/
[INFO] RemoveSamples: Removed sample file: sample.mkv (45 MB)
[INFO] RemoveSamples: Removed sample directory: SAMPLE/ (3 files)
[INFO] RemoveSamples: Processing completed - removed 4 items

Verifying Media Manager Integration

Sonarr/Radarr verification:

  1. Check Activity tab for clean imports
  2. Verify no sample files in imported folders
  3. Monitor missing episodes/movies (should not increase)
  4. Review manual import queue (should be cleaner)

🚨 Troubleshooting Integration Issues

Issue: Media Manager Can't Find Files

Symptoms: Downloads complete but media manager shows "Missing" Likely Cause: RemoveSamples removing wanted files Solutions:

  1. Check size thresholds - increase if too aggressive
  2. Review file patterns - ensure legitimate files don't match sample patterns
  3. Enable debug mode to see what's being removed
  4. Adjust configuration based on your content types

Issue: Sample Files Still Appearing

Symptoms: Sample files remain after processing Likely Cause: Configuration or pattern matching issues Solutions:

  1. Verify RemoveSamples is enabled in category ExtensionScripts
  2. Check script execution order - ensure RemoveSamples runs before media managers
  3. Review sample file names - may need pattern adjustments
  4. Test with debug mode to see detection logic

Issue: Processing Takes Too Long

Symptoms: Downloads hang in post-processing Likely Cause: Large directories or configuration issues Solutions:

  1. Check for infinite loops in directory structure
  2. Verify file permissions for script execution
  3. Monitor system resources during processing
  4. Consider processing timeout settings

🎯 Best Practices Summary

Configuration Best Practices

  • βœ… Start conservative with higher thresholds
  • βœ… Test thoroughly before production deployment
  • βœ… Use appropriate thresholds for content types
  • βœ… Enable debug mode during initial setup
  • βœ… Document your settings for team members

Integration Best Practices

  • βœ… Place RemoveSamples early in script chain
  • βœ… Use consistent categories across media managers
  • βœ… Monitor logs regularly for unexpected behavior
  • βœ… Keep configurations simple initially
  • βœ… Test with non-critical downloads first

Workflow Best Practices

  • βœ… Separate categories for different content types
  • βœ… Adjust thresholds based on content quality
  • βœ… Regular configuration reviews as needs change
  • βœ… Backup working configurations before changes
  • βœ… Coordinate with team members on shared systems

Configuration questions? β†’ Configuration Reference
Having issues? β†’ Troubleshooting Guide
More questions? β†’ FAQ

Clone this wiki locally