StarrScripts Deployment and Usage Guide
1. Prerequisites
Common Requirements
- Linux environment (or WSL2 on Windows) - scripts are designed for Linux/bash
- Git for cloning the repository
- Bash shell (v4+ recommended)
- Python 3 (for
merge_folders.pyonly) - jdupes (for
dupe.shonly) - install via:# Ubuntu/Debian sudo apt-get install jdupes # RHEL/CentOS/Fedora sudo yum install jdupes
Application-Specific Prerequisites
For qui-xseed.sh
- qui instance with API access enabled
- Radarr (v4+) or Sonarr (v3+) with Custom Script support
- API key from qui (found in qui UI: Settings → General → API Key)
For qbm-api-trigger.sh
- QbitManage v4.5+ with Web API enabled (
QBT_WEB_SERVER=true) - qBittorrent client
For Update Scripts (pic-update.sh, pmm-update.sh, qbm-update.sh)
- Target application already installed (Plex-Image-Cleanup, Plex Meta Manager, or QbitManage)
- Docker recommended for all target applications
2. Installation
Clone Repository
git clone https://github.com/baker-scripts/StarrScripts.git
cd StarrScripts
Set Permissions
# Make all shell scripts executable
chmod +x *.sh
# Make Python script executable (optional, can run with python3)
chmod +x merge_folders.py
Important: Line Endings
If editing on Windows: Ensure all .sh files use LF line endings, not CRLF. Convert with:
# Install dos2unix if needed
sudo apt-get install dos2unix # Debian/Ubuntu
dos2unix *.sh
3. Configuration
qui-xseed.sh (Cross-Seed Trigger)
-
Copy environment template:
cp .env.sample .env -
Edit
.envwith your settings:# Required QUI_APIKEY="your_qui_api_key_here" # Optional (defaults shown) QUI_HOST="localhost" QUI_PORT="7476" QUI_TARGET_INSTANCE_ID="1" QUI_QBIT_PATH_PREFIX="" # e.g., "/downloads" QUI_TAGS="" # comma-separated, e.g., "cross-seed,auto" TORRENT_CLIENTS="qBittorrent" USENET_CLIENTS="SABnzbd" LOG_FILE="./qui_xseed.log" -
Place files in Starr app config:
- Docker users: Mount both
qui-xseed.shand.envto/configin your Starr container - Standalone: Place both files in Starr's config directory (typically
~/.config/Radarr/or~/.config/Sonarr/)
- Docker users: Mount both
dupe.sh (Duplicate File Manager)
-
Copy environment template:
cp .env.sample .env -
Configure under
# Jdupessection:# Required - set your scan directory SCAN_DIR="/path/to/scan" # Optional MIN_SIZE="1M" # minimum file size to consider EXCLUDE_PATTERNS="" # comma-separated patterns to exclude OUTPUT_FILE="./duplicates.txt" LOG_FILE="./dupe.log"
merge_folders.py (Folder Merger)
- **Edit script directly: