dotnet tool Installation¶
Install Torrentarr as a global .NET tool. This method is ideal for users who prefer native installations without containerization.
Prerequisites¶
- .NET 8.0 SDK or higher (Download .NET)
- qBittorrent running and accessible
- At least one Arr instance (Radarr, Sonarr, or Lidarr)
Quick Start¶
Installation¶
Check .NET Version¶
Make sure you have .NET 8.0 or higher.
Install Torrentarr¶
Global Tool Path
Global .NET tools are installed to ~/.dotnet/tools on Linux/macOS or %USERPROFILE%\.dotnet\tools on Windows. Make sure this directory is in your PATH.
Add to PATH¶
The .NET installer usually adds this automatically. If not, add %USERPROFILE%\.dotnet\tools to your system PATH:
- Search for "Environment Variables"
- Edit "Path" user variable
- Add
%USERPROFILE%\.dotnet\tools - Restart terminal
First Run¶
-
Start Torrentarr:
-
Configuration file created: Torrentarr will generate
~/config/config.tomlon first run -
Stop Torrentarr: Press Ctrl+C
-
Edit the configuration:
Or open with your preferred editor.
- Start Torrentarr again:
See the First Run Guide for detailed configuration steps.
Configuration¶
Config File Location¶
By default, Torrentarr stores configuration in:
Custom Config Path¶
Set a custom config directory:
Running as a Service¶
Linux (systemd)¶
See the Systemd Service Guide for running Torrentarr as a system service.
Windows¶
Use Task Scheduler to run Torrentarr at startup:
- Open Task Scheduler
- Create Basic Task
- Trigger: "When the computer starts"
- Action: Start a program
- Program:
%USERPROFILE%\.dotnet\tools\torrentarr.exe - Finish
Or use NSSM (Non-Sucking Service Manager):
# Install NSSM
choco install nssm
# Create service (adjust path to your user)
nssm install Torrentarr "$env:USERPROFILE\.dotnet\tools\torrentarr.exe"
nssm start Torrentarr
macOS¶
Create a LaunchAgent at ~/Library/LaunchAgents/com.torrentarr.plist:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.torrentarr</string>
<key>ProgramArguments</key>
<array>
<string>/Users/YOUR_USERNAME/.dotnet/tools/torrentarr</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>StandardOutPath</key>
<string>/tmp/torrentarr.log</string>
<key>StandardErrorPath</key>
<string>/tmp/torrentarr.error.log</string>
</dict>
</plist>
Load the service:
Updating¶
Upgrade to Latest Version¶
Auto-Update¶
Torrentarr has a built-in auto-update feature that can download and apply updates automatically.
Enable in config.toml:
Uninstalling¶
Your configuration files in ~/config/ will remain.
Troubleshooting¶
Command Not Found¶
If torrentarr is not found after installation:
Add %USERPROFILE%\.dotnet\tools to PATH:
- Search for "Environment Variables"
- Edit "Path" user variable
- Add
%USERPROFILE%\.dotnet\tools - Restart terminal
.NET SDK Not Installed¶
Install .NET 8.0 or higher from https://dotnet.microsoft.com/download:
Download from dotnet.microsoft.com and run the installer.
Permission Denied¶
Global .NET tool installations are always per-user — no sudo is needed or recommended:
If you see a permission error on the config directory:
Tool Already Installed¶
If you get an error that torrentarr is already installed:
# Update instead
dotnet tool update -g torrentarr
# Or uninstall first then reinstall
dotnet tool uninstall -g torrentarr
dotnet tool install -g torrentarr
Development Installation¶
To install from source for development:
# Clone repository
git clone https://github.com/Feramance/Torrentarr.git
cd Torrentarr
# Build and run
dotnet build
dotnet run --project src/Torrentarr.Host
See the Development Guide for more details.
Advantages & Disadvantages¶
✅ Advantages¶
- Native performance (no containerization overhead)
- Easy updates via
dotnet tool update - Works on any platform with .NET 8+
- No additional runtime dependencies beyond the .NET SDK
- Direct access to logs and config files
❌ Disadvantages¶
- Requires .NET 8.0+ installed
- No built-in process management (need systemd/Task Scheduler)
- Manual PATH configuration may be needed on Linux/macOS