Apps¶
Apps are applications that process synced downloads. Each app is associated with a download category and is notified when files finish syncing.
*arr Apps (Sonarr, Radarr)¶
SeedReap integrates with the *arr family of applications. Currently supported:
All *arr apps share the same configuration options and behavior. When a download completes, SeedReap triggers a scan command via the app's API.
Configuration¶
apps:
sonarr:
type: sonarr
url: http://sonarr:8989
api_key: your-sonarr-api-key
category: tv-sonarr
downloads_path: /downloads/tv # Optional override
radarr:
type: radarr
url: http://radarr:7878
api_key: your-radarr-api-key
category: movies-radarr
Options¶
| Option | Type | Required | Description |
|---|---|---|---|
type | string | Yes | sonarr or radarr |
url | string | Yes | URL to the *arr instance |
api_key | string | Yes | API key for authentication |
category | string | Yes | Download category to match |
downloads_path | string | No | Override destination path |
cleanup_on_category_change | bool | No | Delete synced files when category changes (default: false) |
cleanup_on_remove | bool | No | Delete synced files when removed from downloader (default: false) |
Getting Your API Key¶
- Open the *arr application
- Go to Settings > General
- Copy the API Key
Default Ports¶
| App | Default Port |
|---|---|
| Sonarr | 8989 |
| Radarr | 7878 |
Setting Up Your *arr App¶
For SeedReap to work correctly with your *arr application, you need to configure two important settings:
Remote Path Mapping¶
Since SeedReap syncs files from your seedbox to a local path, you need to configure a Remote Path Mapping in your *arr app so it knows where to find the imported files.
- Go to Settings > Download Clients
- Scroll to Remote Path Mappings
- Add a mapping:
- Host: Your download client's hostname (e.g.,
seedbox.example.com) - Remote Path: The path on the seedbox (e.g.,
/home/user/downloads/) - Local Path: Where SeedReap syncs files to (e.g.,
/downloads/seedbox/tv-sonarr/)
This tells the *arr app to look for files in the local synced location instead of trying to access the remote seedbox path.
Post-Import Category (Recommended)¶
Configure your download client in the *arr app to change the torrent's category after import. This allows:
- SeedReap to detect the import completed and stop monitoring the download
- Automatic cleanup of synced files (with
cleanup_on_category_change: true) - The torrent to continue seeding on your seedbox without SeedReap interference
To set this up:
- Go to Settings > Download Clients
- Edit your download client (e.g., qBittorrent)
- Set Post-Import Category to a different category (e.g.,
tv-importedorseeding) - In SeedReap, enable cleanup:
apps:
sonarr:
type: sonarr
url: http://sonarr:8989
api_key: your-api-key
category: tv-sonarr
cleanup_on_category_change: true # Clean up after import
With this setup:
- Torrent downloads to seedbox with category
tv-sonarr - SeedReap syncs files to local storage
- Sonarr imports and moves files to your media library
- Sonarr changes category to
tv-imported - SeedReap detects the change and deletes the local synced copy
- Torrent continues seeding on seedbox (original files untouched)
Passthrough¶
The passthrough app syncs files without triggering any API calls. Use this for:
- Categories not associated with any app
- Apps that aren't yet supported
- Manual processing workflows
Options¶
| Option | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Must be passthrough |
category | string | Yes | Download category to match |
downloads_path | string | No | Override destination path |
cleanup_on_category_change | bool | No | Delete synced files when category changes (default: false) |
cleanup_on_remove | bool | No | Delete synced files when removed from downloader (default: false) |
Multiple Apps per Category¶
You can configure multiple apps for the same category. All matching apps will be notified when a download completes:
apps:
sonarr-hd:
type: sonarr
url: http://sonarr-hd:8989
api_key: api-key-1
category: tv
sonarr-4k:
type: sonarr
url: http://sonarr-4k:8989
api_key: api-key-2
category: tv
Download Paths¶
By default, synced files are placed in:
For example, with this configuration:
sync:
downloads_path: /downloads
downloaders:
seedbox:
type: qbittorrent
# ...
apps:
sonarr:
type: sonarr
category: tv-sonarr
A download named "Show.S01E01" from the "seedbox" downloader would be synced to:
This structure allows you to organize downloads by source when using multiple seedboxes.
Custom Paths¶
Override the default path with downloads_path:
Category Change and Removal Behavior¶
SeedReap monitors for category changes and removals in the download client and handles them intelligently.
Category Changes¶
When a download's category changes in qBittorrent:
-
To another tracked app: Files are automatically moved to the new app's downloads path and the new app's import is triggered. For example, if a download changes from
tv-sonarrtomovies-radarr, the files are moved to Radarr's download path and Radarr is notified. If the download is still syncing, the sync continues to the new app's path instead of being cancelled. -
To an untracked category: If
cleanup_on_category_changeis enabled, files are deleted. Otherwise, they remain in place. If still syncing, the sync is cancelled and all files are cleaned up. -
While still syncing to an untracked category: The sync is cancelled, staging files are cleaned up, and any partially synced files are removed.
Removal from Downloader¶
When a torrent is removed from qBittorrent:
-
If complete: Files are cleaned up if
cleanup_on_removeis enabled. -
While still syncing: The sync is cancelled and all files (staging and final) are cleaned up automatically.
Cleanup Options¶
These options control whether to delete synced files when certain events occur.
Post-Import Category Change¶
Many *arr apps support a "Post-Import Category" setting that changes the torrent's category after import. When this happens, SeedReap detects the change. If the new category doesn't match another app, you can enable cleanup:
apps:
sonarr:
type: sonarr
url: http://sonarr:8989
api_key: your-api-key
category: tv-sonarr
cleanup_on_category_change: true # Delete synced files when category changes to untracked category
Removal from Downloader¶
If a torrent is removed from the download client (e.g., after seeding completes), SeedReap can clean up the synced files:
apps:
sonarr:
type: sonarr
url: http://sonarr:8989
api_key: your-api-key
category: tv-sonarr
cleanup_on_remove: true # Delete synced files when removed from downloader
Important Notes¶
- Both options default to
falseto prevent accidental data loss - Cleanup options only apply to completed downloads - incomplete syncs are always cleaned up when cancelled
- When a download changes to another tracked app's category, files are moved (not deleted) regardless of cleanup settings
- When a download is cleaned up or moved, it is removed from SeedReap's tracking
- If you use hardlinks in your *arr app, the synced files are just copies and can be safely deleted after import