Your download folder is supposed to share its files with your library. Dedupearr tells you whether it does.
Every night it walks every video file and says what the file is: the real copy, a hardlink that costs nothing, a second copy that wastes space, a download nothing matches, or an old recycle-bin entry. With the evidence, in one plain sentence. The companion to Auditarr.
What it tells you
One of these per file, with the inodes, link counts, sizes and checksums behind it one click away.
| Real copy | the library file and the download are one file with two names (a hardlink); seeding costs nothing |
| Stored twice | the library file and the download are two separate files with identical content |
| Stored twice, header differs | the same, except the first megabyte: a language tag or title was edited on one copy |
| Download without a match | nothing in the library matches this download; phase 2 asks the torrent client |
| Looks alike | same size as a library file but different content; not a duplicate |
| Old recycle-bin file | in a recycle bin longer than your rule |
How it works
Phase 1 is read-only: it looks and tells. Phase 2 asks the torrent client and the arrs; phase 3 adds the fixes behind a dry run and a 14-day undo.
What it looks like




Run it
One container, one read-only mount that holds both the library and the download folder.
docker run -d --name dedupearr --restart unless-stopped -p 3092:3092 \ -e TZ=America/Winnipeg -v /path/to/appdata/dedupearr:/config -v /path/to/media:/data:ro \ ghcr.io/chrizantoz/dedupearr:latest
UnraidAdd Container → paste the template URL from the install guide.
Docker composeA ready file is in docs/docker-compose.yml.
Safe by constructionRead-only mount, no code path that changes a file, verdicts only with evidence. Security · How it is tested.