
Unpackerr
Automatic archive extraction for your *arr stack
Unpackerr - Automated Archive Extraction
Unpackerr monitors your download queues in Radarr, Sonarr, Lidarr, and Readarr, automatically extracting compressed downloads and cleaning up extracted files after successful import. Essential for users who download content in RAR or other archive formats.
What is Unpackerr?
Unpackerr is a lightweight daemon that watches your *arr application queues for completed downloads containing archives. Key features include:
👁️ Queue Monitoring
Polls your *arr apps for completed, queued downloads automatically
📦 Automatic Extraction
Extracts RAR, ZIP, 7-Zip, and other archive formats seamlessly
🧹 Smart Cleanup
Deletes extracted files after successful import to save space
🎬 Multi-App Support
Works with Radarr, Sonarr, Lidarr, and Readarr simultaneously
🔔 Webhook Notifications
Discord, Notifiarr, Telegram, and Slack integration
⚡ Parallel Processing
Configurable parallel extractions for faster processing
Archive Downloads
Unpackerr is essential if you download from sources that provide content in RAR or ZIP archives. Without it, your *arr apps cannot import archived content automatically.
Installation
Install Unpackerr
Install Unpackerr for a specific user:
qb install unpackerr -u usernameAutomatic *arr Integration
The QuickBox installer automatically detects and configures Unpackerr for any *arr applications (Radarr, Sonarr, Lidarr, Readarr) already installed for the user. *Install your arr apps first for seamless integration.
Installation Process
During installation, QuickBox Pro will:
- Add repository - Configure the official Golift package repository
- Install package - Download and install the latest Unpackerr release
- Auto-detect installed *arr applications for the user
- Configure API keys - Automatically retrieve and configure API connections
- Set up logging - Configure log rotation and file permissions
- Create service - Set up systemd service for reliable operation
CLI Commands
Basic Operations
| Command | Description |
|---|---|
qb install unpackerr -u username | Install Unpackerr for a user |
qb reinstall unpackerr -u username | Reinstall Unpackerr (preserves config) |
qb update unpackerr -u username | Update to latest version |
qb remove unpackerr -u username | Remove Unpackerr completely |
qb help unpackerr | Display help information |
Usage Examples
Install Unpackerr:
qb install unpackerr -u myuserUpdate Unpackerr:
qb update unpackerr -u myuserReinstall (fix corrupted installation):
qb reinstall unpackerr -u myuserRemove Unpackerr and clean up:
qb remove unpackerr -u myuserSupported Integrations
QuickBox Pro automatically configures Unpackerr with your installed *arr applications:
Enhanced Features
Unpackerr on QuickBox Pro includes several advanced features:
🔄 Auto-Configuration
Automatically detects and configures API keys for all installed *arr applications
📊 Smart Polling
Configurable polling interval (default 2 minutes) to balance responsiveness and resource usage
🧹 Automatic Cleanup
Deletes extracted files after successful import with configurable delay
📝 Structured Logging
Comprehensive logging with automatic rotation (10 files × 10MB)
🔒 User Isolation
Per-user configuration and service instances for multi-user environments
💾 Automatic Backups
Configuration backups created during installation and available through QuickBox backup system
Service Management
Unpackerr runs as a systemd service for reliable operation:
Check Service Status
systemctl status unpackerr@usernameRestart Service
systemctl restart unpackerr@usernameView Live Logs
journalctl -u unpackerr@username -fView Application Logs
# Application log
tail -f /home/username/.config/Unpackerr/logs/unpackerr.logAutomatic Recovery
The Unpackerr service is configured to automatically restart on failure (with a 10-second delay), ensuring continuous operation.
Configuration
Configuration File Location
After installation, configure Unpackerr by editing:
nano /home/username/.config/Unpackerr/unpackerr.confKey Configuration Options
## Logging Configuration
log_file = "/home/username/.config/Unpackerr/logs/unpackerr.log"
log_files = 10
log_file_mb = 10
## Polling Settings
# How often to poll *arr apps (recommend 1m-5m)
interval = "2m"
# Delay before starting extraction after download completes
start_delay = "1m"
# Delay before retrying failed extractions
retry_delay = "5m"
## Extraction Settings
# Number of parallel extractions (1 is recommended)
parallel = 1
# File permissions for extracted files
file_mode = "0644"
dir_mode = "0755"*arr Application Configuration
Each *arr application section in the config supports these options:
[[radarr]]
url = "http://127.0.0.1:7878/username/radarr"
api_key = "your-api-key-here"
# Protocols to monitor: "torrent", "usenet", or "torrent,usenet"
protocols = "torrent"
# Time to wait before deleting extracted files after import
delete_delay = "5m"
# Delete original download folder after import (use with caution for torrents)
delete_orig = falseTorrent Users
Keep delete_orig = false when using torrents to avoid breaking your seeding. Unpackerr will only delete the extracted files, not the original archive needed for seeding.
How It Works
Extraction Workflow
- Monitor - Unpackerr polls your *arr apps at the configured interval
- Detect - Identifies completed downloads with extractable archives
- Wait - Respects
start_delayto ensure download is fully complete - Extract - Decompresses archives to the same location
- Import - Your *arr app detects and imports the extracted files
- Cleanup - After
delete_delay, extracted files are removed
Webhook Notifications
Configure webhooks to receive notifications for:
- Queued - Extraction queued
- Started - Extraction in progress
- Finished - Extraction complete
- Deleted - Extracted files cleaned up
- Failed - Extraction errors
[[webhook]]
url = "https://discord.com/api/webhooks/your-webhook-url"
name = "Discord"
events = [0] # 0 = all eventsDirectory Structure
Unpackerr files are organized as follows:
Troubleshooting
Common Issues
Unpackerr not extracting files:
# Check service status
systemctl status unpackerr@username
# View recent logs for errors
journalctl -u unpackerr@username -n 100
# Enable debug mode in config
# Set: debug = true
# Then restart the serviceAPI connection errors:
# Verify *arr app is running
systemctl status radarr@username
# Check API key is correct in unpackerr.conf
grep api_key /home/username/.config/Unpackerr/unpackerr.conf
# Test API connectivity manually
curl -H "X-Api-Key: YOUR_KEY" http://127.0.0.1:7878/api/v3/system/statusPermission errors:
# Check file ownership
ls -la /home/username/.config/Unpackerr/
# Fix permissions if needed
chown -R username:username /home/username/.config/Unpackerr/
# Or reinstall
qb reinstall unpackerr -u usernameExtracted files not being imported:
- Ensure your *arr app’s download path matches Unpackerr’s monitored path
- Check that
delete_delayis long enough for import to complete - Verify the extracted file format is supported by your *arr app
Use Cases
RAR-Heavy Trackers
Many private trackers distribute content in RAR archives:
Scene Releases
P2P Releases
Usenet
Multi-App Setups
Run a single Unpackerr instance for all your *arr apps:
📺 Unified Monitoring
Monitor Radarr, Sonarr, Lidarr, and Readarr simultaneously
📄 Single Configuration
One config file with multiple app sections for easy management
🚀 Efficient Resources
Shared extraction queue minimizes system resource usage
Automated Media Management
Complete the automation chain:
1️⃣ Discovery
Prowlarr finds releases → Radarr/Sonarr grabs them
2️⃣ Download
Download client completes the download
3️⃣ Extract
Unpackerr extracts archives automatically
4️⃣ Import
Radarr/Sonarr imports and renames files
5️⃣ Cleanup
Unpackerr cleans up extracted files
Best Practices
Do
- Install your *arr applications before Unpackerr for automatic API detection
- Keep delete_orig = false when using torrents to preserve seeding
- Set appropriate delete_delay to allow time for import completion
- Use a dedicated temp directory for extractions
- Configure webhook notifications for extraction status monitoring
- Enable debug logging temporarily when troubleshooting issues
Don't
- Don't set delete_orig = true with torrents (breaks seeding)
- Don't use too aggressive polling intervals (1-5 minutes is recommended)
- Don't skip configuring log rotation (prevents disk space issues)
- Don't ignore extraction failures - check archive integrity
- Don't run multiple Unpackerr instances for the same *arr app
- Don't set parallel extractions too high (1 is recommended for most setups)
Additional Resources
Related Applications
Join the Community
Media server operators sharing configs, getting support, and shaping the future of QuickBox Pro.