02_Installation_Guide - nzbgetcom/Extension-RemoveSamples GitHub Wiki

Installation Guide

This guide will walk you through installing RemoveSamples-NZBGet using multiple methods.

📋 Prerequisites

Before installing RemoveSamples, ensure you have:

Required

  • NZBGet: Version 14.0 or later
  • Python: 3.8+ installed on your system
  • File System Access: Write permissions to NZBGet scripts directory

Recommended

  • Recent NZBGet: Version 21.0+ for best extension manager support
  • Updated Python: Python 3.9+ for optimal performance

🚀 Method 1: Extension Manager (Recommended)

The easiest way to install RemoveSamples is through NZBGet's built-in Extension Manager.

Step 1: Open Extension Manager

  1. Access NZBGet web interface (usually http://your-server:6789)
  2. Navigate to SettingsExtension Manager
  3. Look for "Remove Samples" in the extension list

Step 2: Install Extension

  1. Click "Install" next to RemoveSamples
  2. Wait for download to complete
  3. Restart NZBGet if prompted

Step 3: Verify Installation

  1. Go to SettingsExtension Manager
  2. Confirm RemoveSamples appears in "Installed Extensions"
  3. Check for configuration options in Settings

📥 Method 2: Manual Installation

If the Extension Manager doesn't have RemoveSamples yet, install manually.

Step 1: Download Release

  1. Visit the Releases page
  2. Download the latest release (.zip file)
  3. Extract the archive to a temporary location

Step 2: Locate Scripts Directory

Find your NZBGet scripts directory:

Common Locations:

  • Linux: /opt/nzbget/scripts/ or /usr/share/nzbget/scripts/
  • Docker: Volume mounted scripts directory
  • Windows: C:\Program Files\NZBGet\scripts\
  • Synology: /volume1/@appstore/nzbget/var/scripts/
  • QNAP: /share/CACHEDEV1_DATA/.qpkg/NZBGet/scripts/

Find Your Path:

  1. In NZBGet web interfaceSettingsPaths
  2. Look for "ScriptDir" setting
  3. Note the full path

Step 3: Install Files

  1. Create extension directory:

    mkdir -p /path/to/nzbget/scripts/RemoveSamples/
    
  2. Copy extension files:

    cp main.py /path/to/nzbget/scripts/RemoveSamples/
    cp manifest.json /path/to/nzbget/scripts/RemoveSamples/
    
  3. Set permissions (Linux/Unix only):

    chmod 755 /path/to/nzbget/scripts/RemoveSamples/main.py
    chmod 644 /path/to/nzbget/scripts/RemoveSamples/manifest.json
    

Step 4: Restart NZBGet

Restart NZBGet to recognize the new extension:

  • Web interface: Settings → System → Restart
  • Command line: sudo systemctl restart nzbget
  • Docker: docker restart nzbget

🔧 Method 3: Git Clone (Development)

For developers or advanced users who want the latest features:

Step 1: Clone Repository

cd /path/to/nzbget/scripts/
git clone https://github.com/Anunnaki-Astronaut/RemoveSamples-NZBGet.git RemoveSamples

Step 2: Set Permissions

chmod 755 /path/to/nzbget/scripts/RemoveSamples/main.py
chmod 644 /path/to/nzbget/scripts/RemoveSamples/manifest.json

Step 3: Restart NZBGet

Restart NZBGet to load the extension.

🐳 Docker & Unraid Installation

Docker Installation (General)

For standard Docker NZBGet containers:

Step 1: Access Container Scripts Directory

# Find your NZBGet container
docker ps | grep nzbget

# Access the container
docker exec -it nzbget bash

# Navigate to scripts directory
cd /opt/nzbget/scripts/

Step 2: Install RemoveSamples

# Create extension directory
mkdir -p RemoveSamples

# Download files (use wget or copy from host)
wget -O RemoveSamples/main.py https://github.com/Anunnaki-Astronaut/RemoveSamples-NZBGet/raw/main/main.py
wget -O RemoveSamples/manifest.json https://github.com/Anunnaki-Astronaut/RemoveSamples-NZBGet/raw/main/manifest.json

# Set permissions
chmod 755 RemoveSamples/main.py
chmod 644 RemoveSamples/manifest.json

Step 3: Restart Container

# Exit container and restart
exit
docker restart nzbget

Unraid Installation (Recommended Method)

Using Unraid's NZBGet Docker container from Community Applications:

Step 1: Access NZBGet AppData

# Navigate to NZBGet appdata directory
cd /mnt/user/appdata/nzbget/scripts/

# Create RemoveSamples directory
mkdir -p RemoveSamples

Step 2: Download Extension Files

# Download main script
wget -O RemoveSamples/main.py https://github.com/Anunnaki-Astronaut/RemoveSamples-NZBGet/raw/main/main.py

# Download manifest
wget -O RemoveSamples/manifest.json https://github.com/Anunnaki-Astronaut/RemoveSamples-NZBGet/raw/main/manifest.json

Step 3: Set Correct Permissions

# Set Unraid-appropriate permissions
chown -R nobody:users RemoveSamples/
chmod 755 RemoveSamples/main.py
chmod 644 RemoveSamples/manifest.json

Step 4: Restart NZBGet Container

  1. Go to Unraid Docker tab
  2. Click NZBGet container → Stop
  3. Wait for container to stop
  4. Click Start

Docker Compose Integration

For docker-compose setups:

version: '3.8'
services:
  nzbget:
    image: linuxserver/nzbget:latest
    container_name: nzbget
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/New_York
    volumes:
      - /path/to/nzbget/config:/config
      - /path/to/downloads:/downloads
      - /path/to/scripts:/opt/nzbget/scripts  # Mount scripts directory
    ports:
      - 6789:6789
    restart: unless-stopped

Then install RemoveSamples in the mounted scripts directory:

# On host system
cd /path/to/scripts/
mkdir -p RemoveSamples
# Download files as shown above

Popular Docker Images

LinuxServer NZBGet

# Container paths
Scripts: /config/scripts/
Downloads: /downloads/
Config: /config/

Official NZBGet

# Container paths  
Scripts: /opt/nzbget/scripts/
Downloads: /downloads/
Config: /opt/nzbget/

LSIO (LinuxServer.io)

# Default user/group
PUID: 1000
PGID: 1000
User: abc

Unraid Specific Considerations

Path Mappings

Container Path: /opt/nzbget/scripts/
Host Path: /mnt/user/appdata/nzbget/scripts/

Container Path: /downloads
Host Path: /mnt/user/downloads/

User/Group Settings

User: nobody
Group: users
PUID: 99
PGID: 100

Unraid NZBGet Template Variables

Common Unraid NZBGet container variables:

  • WebUI: http://[IP]:[PORT:6789]
  • Scripts Path: /mnt/user/appdata/nzbget/scripts/
  • Downloads Path: /mnt/user/downloads/nzbget/

✅ Verify Installation

After installation, verify RemoveSamples is working:

Check Extension List

  1. Go to SettingsExtension Manager
  2. Confirm "RemoveSamples" appears in installed extensions
  3. Note version number matches your download

Check Configuration

  1. Navigate to SettingsExtension ManagerRemoveSamples
  2. Verify configuration options are visible:
    • Remove Directories (Yes/No dropdown)
    • Remove Files (Yes/No dropdown)
    • Debug (Yes/No dropdown)
    • Video Size Threshold
    • Audio Size Threshold

Test Categories

  1. Go to SettingsCategories
  2. Select a test category
  3. Confirm "RemoveSamples" appears in ExtensionScripts dropdown

🚨 Troubleshooting Installation

Extension Not Appearing

Problem: RemoveSamples doesn't show up in Extension Manager

Solutions:

  1. Check file structure:

    /scripts/RemoveSamples/
    ├── main.py
    └── manifest.json
    
  2. Verify permissions:

    ls -la /path/to/scripts/RemoveSamples/
    # Should show executable permissions on main.py
    
  3. Check NZBGet logs:

    • Settings → Logging → Messages
    • Look for extension loading errors
  4. Restart NZBGet completely:

    • Stop NZBGet service
    • Wait 10 seconds
    • Start NZBGet service

Permission Errors

Problem: Permission denied errors in logs

Solution:

# Fix ownership (replace nzbget:nzbget with your user:group)
sudo chown -R nzbget:nzbget /path/to/scripts/RemoveSamples/

# Fix permissions
sudo chmod 755 /path/to/scripts/RemoveSamples/main.py
sudo chmod 644 /path/to/scripts/RemoveSamples/manifest.json

Python Issues

Problem: Python not found or wrong version

Solutions:

  1. Verify Python installation:

    python3 --version
    # Should show 3.8 or higher
    
  2. Install Python 3.8+:

    • Ubuntu/Debian: sudo apt install python3
    • CentOS/RHEL: sudo yum install python3
    • Docker: Use a base image with Python included
  3. Check NZBGet Python settings:

    • Settings → Extension Scripts
    • Verify PythonCmd points to correct Python executable

File Structure Issues

Problem: Extension loads but doesn't work

Verification:

# Check required files exist
ls -la /path/to/scripts/RemoveSamples/
# Should show:
# main.py (executable)
# manifest.json (readable)

# Verify manifest.json is valid JSON
python3 -m json.tool /path/to/scripts/RemoveSamples/manifest.json

🎯 Next Steps

Once installation is complete:

  1. Configuration Reference - Configure essential settings
  2. Workflow Integration - Add to your download categories
  3. Complete Testing Guide → - Test your setup

📞 Need Help?

If you encounter issues not covered here:


Installation successful?Complete Testing Guide