Getting Started with Torrentarr¶
Welcome! This comprehensive guide will help you install and configure Torrentarr for the first time.
What is Torrentarr?¶
Torrentarr is an intelligent automation tool that bridges qBittorrent and the Arr ecosystem (Radarr/Sonarr/Lidarr). It provides:
- Intelligent Health Monitoring - Automatically detect and handle failed/stalled downloads
- Instant Imports - Import media to your library as soon as downloads complete
- Automated Search - Continuously search for missing media and quality upgrades
- Request Integration - Process Overseerr/Ombi requests automatically
- Custom Format Enforcement - Ensure downloads meet your quality standards
- Seeding Management - Per-tracker seeding rules and automatic cleanup
- Web Interface - Modern React UI for monitoring and configuration
Prerequisites¶
Required Components¶
Before installing Torrentarr, ensure you have these components running:
1. qBittorrent¶
- Version: 4.1.0+ or 5.x
- WebUI: Must be enabled (Settings → Web UI)
- Authentication: Note your username and password
- Network: Accessible from where Torrentarr will run
Verify qBittorrent:
2. At Least One Arr Instance¶
Install and configure at least one of:
- Radarr (v3.0+) - Movie management
- Sonarr (v3.0+) - TV show management
- Lidarr (v1.0+) - Music management
Requirements for each Arr instance:
- ✅ Configured indexers (Prowlarr or direct)
- ✅ Download client pointing to qBittorrent
- ✅ Category set in download client (e.g.,
radarr-movies) - ✅ API key available (Settings → General → Security)
Verify Arr instance:
# Test Radarr API
curl -H "X-Api-Key: YOUR_API_KEY" http://localhost:7878/api/v3/system/status
# Should return JSON with version info
3. Storage & Permissions¶
- Download folder: Accessible by qBittorrent, Arr instances, and Torrentarr
- Config folder: Write permissions for Torrentarr
- Logs folder: Write permissions for Torrentarr
Optional Components¶
Overseerr or Ombi¶
For automated request processing:
- Overseerr (v1.26+) - Modern request management
- Ombi (v4.0+) - Alternative request management
FFprobe¶
For media file validation:
- Automatically downloaded by Torrentarr (recommended)
- Or manually installed (
apt install ffmpeg)
Installation Methods¶
Choose the installation method that best fits your infrastructure:
🐳 Docker (Recommended)¶
Best for:
- Most users
- Easy updates
- Isolated environment
- Cross-platform support
Advantages:
- ✅ Pre-configured environment
- ✅ Automatic dependency management
- ✅ Easy rollback and updates
- ✅ Consistent across all platforms
Requirements:
- Docker 20.10+
- Docker Compose 2.0+ (optional but recommended)
📦 .NET tool¶
Best for:
- Native Linux/macOS/Windows installations
- Users who prefer not to use Docker
- Integration with existing .NET tooling
Advantages:
- ✅ Native performance
- ✅ Single global tool command
- ✅ Full control over environment
Requirements:
- .NET 8.0 SDK or runtime
- qBittorrent and at least one Arr instance
.NET tool Installation Guide →
🔧 Systemd Service¶
Best for:
- Linux servers
- Production deployments
- Automatic startup on boot
- Native system integration
Advantages:
- ✅ Native Linux service
- ✅ Automatic restart on failure
- ✅ Logging via journalctl
- ✅ Resource limits and sandboxing
Requirements:
- Linux with systemd
- .NET 8+ or Torrentarr binary
- sudo/root access for setup
📥 Binary (Standalone)¶
Best for:
- Advanced users
- Minimal dependencies
- Portable installations
- Testing without .NET (use binary)
Advantages:
- ✅ No .NET or Python required
- ✅ Portable executable
- ✅ Quick testing
Platforms:
- Linux (x86_64, aarch64)
- macOS (Intel, Apple Silicon)
- Windows (x86_64)
Installation Comparison¶
| Feature | Docker | dotnet tool | Systemd | Binary |
|---|---|---|---|---|
| Ease of Setup | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ |
| Updates | Very Easy | Easy | Manual | Manual |
| Dependencies | Auto | .NET 8+ | .NET or binary | None |
| Cross-Platform | Yes | Yes | Linux only | Yes |
| Performance | Good | Excellent | Excellent | Excellent |
| Isolation | Excellent | None | Good | None |
| Auto-Start | Yes | No | Yes | No |
| Resource Usage | Medium | Low | Low | Low |
Quick Start¶
Once you've chosen and completed your installation method:
Step 1: First Run¶
Start Torrentarr to generate the default configuration:
Look for:
Configuration file not found. Generating default config...
Configuration file created at: /config/config.toml
Please edit the configuration file and restart Torrentarr.
Step 2: Stop Torrentarr¶
Stop Torrentarr to edit the configuration:
Step 3: Configure Torrentarr¶
Edit the generated config.toml file:
Minimum required configuration:
[qBit]
Host = "localhost"
Port = 8080
UserName = "admin"
Password = "adminpass"
[Radarr-Movies]
URI = "http://localhost:7878"
APIKey = "your_radarr_api_key_here"
Category = "radarr-movies"
Detailed Configuration Guide →
Step 4: Start Torrentarr¶
Restart Torrentarr with your configuration:
Step 5: Verify Installation¶
-
Check logs for successful connections:
-
Access the WebUI:
Open http://localhost:6969/ui in your browser
-
Verify Processes tab:
All Arr manager processes should show as "Running"
First Steps After Installation¶
1. Test with a Manual Download¶
- In Radarr/Sonarr, manually search and grab a small file
- Watch Torrentarr logs for activity
- Verify Torrentarr detects and monitors the download
- Check that import triggers when complete
2. Enable Automated Search (Optional)¶
If you want Torrentarr to search for missing media:
[Radarr-Movies.EntrySearch]
SearchMissing = true
SearchLimit = 5
SearchByYear = true
SearchRequestsEvery = 300
3. Configure Health Monitoring¶
Customize how Torrentarr handles failed downloads:
[Radarr-Movies.Torrent]
MaximumETA = 86400 # 24 hours
StalledDelay = 15 # 15 minutes
ReSearchStalled = true
4. Set Up Request Integration (Optional)¶
If using Overseerr or Ombi:
[Radarr-Movies.EntrySearch.Overseerr]
SearchOverseerrRequests = true
OverseerrURI = "http://localhost:5055"
OverseerrAPIKey = "your_overseerr_api_key"
ApprovedOnly = true
Common Initial Setup Scenarios¶
Scenario 1: Simple Home Server¶
Setup: - Single Radarr instance - Single Sonarr instance - Basic health monitoring - No request management
Installation: Docker via docker-compose
Time to setup: 15 minutes
Scenario 2: Advanced Multi-Instance¶
Setup: - Radarr 1080p + Radarr 4K - Sonarr TV + Sonarr Anime - Overseerr integration - Custom format enforcement
Installation: Systemd service
Time to setup: 45 minutes
Scenario 3: Shared Seedbox¶
Setup: - Remote qBittorrent - Multiple users/Arr instances - Strict seeding requirements - Disk space management
Installation: dotnet tool or binary + systemd
Time to setup: 30 minutes
Learning Path¶
Beginner (Week 1)¶
- ✅ Install Torrentarr
- ✅ Configure basic connectivity
- ✅ Test with manual downloads
- ✅ Explore WebUI
Resources:
Intermediate (Week 2-3)¶
- ✅ Enable automated search
- ✅ Configure health monitoring
- ✅ Set up seeding rules
- ✅ Add request integration
Resources:
Advanced (Week 4+)¶
- ✅ Custom format enforcement
- ✅ Quality upgrades
- ✅ Multi-instance setups
- ✅ Per-tracker rules
Resources:
Troubleshooting Installation¶
Torrentarr Won't Start¶
Check:
- .NET 8+ (for dotnet tool) or use Binary/Docker
- Port 6969 not in use
- Config file exists and is valid TOML
- Permissions on config/logs folders
Can't Connect to qBittorrent¶
Solutions:
- Verify qBittorrent WebUI is enabled
- Check host/port in config
- Test credentials manually
- Ensure no firewall blocking
Can't Connect to Arr¶
Solutions:
- Verify API key is correct
- Check Arr instance is running
- Test API manually with curl
- Ensure network connectivity
Next Steps¶
Choose your path based on your needs:
🎯 Quick Setup¶
Just want it working fast?
- Quick Start Guide
- Test with downloads
Time required: 20 minutes
🔧 Comprehensive Setup¶
Want to understand everything?
Time required: 2-3 hours
🚀 Advanced Configuration¶
Need complex features?
Time required: 4-6 hours
Command-Line Reference¶
Usage¶
| Option | Description | Default |
|---|---|---|
--config PATH | Path to config.toml file | ~/config/config.toml (native), /config/config.toml (Docker) |
--gen-config | Generate default configuration file and exit | - |
--version | Show version information and exit | - |
--help | Show help message and exit | - |
Environment Variables¶
| Variable | Description | Default |
|---|---|---|
TORRENTARR_CONFIG | Path to config.toml | (see search order below) |
PUID / PGID | User/Group ID (Docker) | 1000 |
TZ | Timezone | UTC |
Config file path is taken from TORRENTARR_CONFIG when set. All other settings are read from config.toml only (no per-key env overrides).
Signals¶
| Signal | Behavior |
|---|---|
SIGTERM | Graceful shutdown (recommended) |
SIGINT | Graceful shutdown (Ctrl+C) |
SIGKILL | Immediate termination (not recommended) |
Exit Codes¶
| Code | Meaning |
|---|---|
0 | Success |
1 | General error |
2 | Configuration error |
3 | Connection error |
130 | SIGINT (Ctrl+C) |
143 | SIGTERM |
Config File Search Order¶
--configoption (if added in future)TORRENTARR_CONFIGenvironment variable~/config/config.toml~/.config/qbitrr/config.toml~/.config/torrentarr/config.toml./config.toml
Getting Help¶
Documentation¶
- FAQ - Frequently asked questions
- Troubleshooting - Common issues and solutions
- Configuration Reference - Complete config documentation
- API Reference - REST API documentation
Community¶
- GitHub Discussions - Ask questions, share setups
- GitHub Issues - Report bugs, request features
- Discord - Real-time community support
Contributing¶
Want to improve Torrentarr?
Success Stories¶
Migration from Manual Management
"Switching from manual torrent management to Torrentarr saved me 2-3 hours per week. Failed downloads are handled automatically, and new episodes import within seconds!" - Home media server user
Multi-Instance 4K Setup
"Running separate 1080p and 4K Radarr instances with Torrentarr's custom format enforcement ensures I only grab the quality I want. Upgrade searches keep my library pristine." - Quality enthusiast
Shared Seedbox
"Torrentarr manages our family seedbox with per-tracker seeding rules. Everyone's Arr instances work independently, and we maintain great ratios on private trackers." - Seedbox user
Ready to get started? Pick your installation method above and follow the guide!