All apps · 0 apps
auditorr
Docker app from thrill-burn's Repository
Overview
An audit tool for hardlinked media libraries using qBittorrent / qui + Sonarr / Radarr.
A dashboard with health score, per-tracker analytics, and cross-seed effectiveness tells you what's wrong with your library. Five automated workflows fix it.
- Health score (0-100) showing how clean and efficient your library is
- Five workflows: Backfill (re-seed orphaned media via Sonarr/Radarr search), Cleanup (reviewed delete script for orphaned torrent files), Triage (explains every problem torrent — dead seeds, unregistered, superseded, pending imports — with rescan/exclude/delete actions), Dedupe (replace duplicate copies with verified hardlinks), Trumped (paste a tracker trump PM to swap the whole cross-seed group for its replacement)
- Upload analytics and library yield: daily upload volume per tracker, yield % over time, multi-tracker comparison charts
- Cross-seeding insights: weighted average seed multiplier, segmented disk bar, per-tracker breakdown
- Powerful file explorer with tree and flat views, filterable by status, tracker, seed count, size, filename
- File-level change log between every audit, kept indefinitely
- Sonarr/Radarr integration and a guided first-run setup wizard
Follows the TRaSH Guides folder structure. Read-only and non-destructive by default — all delete actions are opt-in, reviewed, and confirmed.
Readme
View on GitHubauditorr
An audit tool for hardlinked media libraries using qBittorrent / qui + Sonarr / Radarr. A dashboard with health score, per-tracker analytics, and cross-seed effectiveness tells you what's wrong with your library. Five automated workflows fix it.
What's new in 1.7.0
- A rebuilt UI - a top-to-bottom design pass with consistent buttons and spacing, and a calmer library-health dial.
- Four new workflows - Backfill is now joined by Cleanup, Triage, Dedupe, and Trumped, so every dashboard problem has a fix.
- Leaner on big libraries - backend memory optimizations, tested on libraries up to 500 TB in size.
Workflows
The dashboard tells you what's wrong; workflows fix it.
Backfill
Targets orphaned media: files on disk with no hardlink to a seeding torrent and no way to grow one (trumped, dead tracker, your own rip). Search the same title on the tracker you want, grab a version that actually seeds, and swap it in via Sonarr / Radarr.
Cleanup
Targets orphaned torrent files: files in your torrent folder the client has no torrent for. Review them grouped by release folder, then generate a reviewed delete script — or exclude the ones you put there on purpose.
Triage
Explains every problem torrent and what to do about it: dead seeds, dead registrations, unregistered, superseded quality, pending imports, and not in library. Trigger a Sonarr/Radarr rescan, exclude, or delete torrents and their files directly through qBittorrent / qui.
Dedupe
Targets duplicate files: review duplicate groups and generate a script that
replaces copies with hardlinks, verified with cmp before linking.
Trumped
Automates the private-tracker trump swap. Paste the tracker's "this release has been trumped" PM; auditorr parses the old and new release names, finds the entire hardlink group (every cross-seed of the old content), removes it from the client with its files, and grabs the exact replacement through Sonarr/Radarr — wizard-style, confirmed at every step.
Install
Unraid
auditorr is on Unraid Community Apps — search for auditorr in the
Apps tab and install in one click.
- WebUI:
http://[IP]:[PORT:8677]/ - Appdata:
/mnt/user/appdata/auditorr/data→/app/data - Data:
/mnt/user/data→/data(read-only)
Docker Compose
services:
auditorr:
image: ghcr.io/thrill-burn/auditorr:latest
container_name: auditorr
restart: unless-stopped
ports:
- "8677:8677"
volumes:
- ./data:/app/data
- /path/to/media:/data/media:ro
- /path/to/torrents:/data/torrents:ro
Build from source
git clone https://github.com/thrill-burn/auditorr.git
cd auditorr
docker build -t auditorr .
docker run -d \
--name auditorr \
-p 8677:8677 \
-v /path/to/appdata:/app/data \
-v /path/to/media:/data/media:ro \
-v /path/to/torrents:/data/torrents:ro \
auditorr
[!IMPORTANT] The Hardlinked Media score assumes you use hardlinks between your torrent folder and your media library — the TRaSH Guides folder structure. Without hardlinks, this score is 0 regardless of how healthy the rest of your library is.
License
MIT — see LICENSE.
Install Auditorr on Unraid in a few clicks.
Find Auditorr in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.
Categories
Related apps
Explore more like this
Explore allDetails
ghcr.io/thrill-burn/auditorr:latestRuntime arguments
- Web UI
http://[IP]:[PORT:8677]/- Network
bridge- Shell
sh- Privileged
- false
Template configuration
Container Port: 8677 — auditorr web interface
- Target
- 8677
- Default
- 8677
- Value
- 8677
Container Path: /app/data — config, audit history, SQLite database. Persistent app state lives here.
- Target
- /app/data
- Default
- /mnt/user/appdata/auditorr/data
- Value
- /mnt/user/appdata/auditorr/data
Container Path: /data — your unified TRaSH-style media + torrents share (the parent of /data/media and /data/torrents). auditorr mounts this read-only by design.
- Target
- /data
- Default
- /mnt/user/data
- Value
- /mnt/user/data
Container Variable: AUDITORR_PORT — port the app listens on inside the container. Must match the WebUI Container Port above.
- Default
- 8677
- Value
- 8677
Container Variable: AUDITORR_SECRET — optional secret to require an X-Auditorr-Secret header on API calls. Leave blank to disable auth.







