Media Duplicates
Not connected to Plex
Queued
0% | 0:00
Queued
0% | 0:00
Groups
0
Files
0
Possible Reclaim
0 B
Libraries
0
Queued
0% | 0:00
Groups
0
Sidecars
0
Rejected
0
Libraries
0
Getting Started
First-time setupDeduplarr finds items with more than one media version and media files with duplicate external subtitles, scores each copy, suggests which to keep, and asks Plex to delete the rest.
- In Settings → Authentication, change the default
admin/adminpassword. - In Settings → Plex, enter your Plex URL and token, click Test, then Save.
- Open Media Files or Subtitle Files and click Scan.
- When you're ready to delete, turn on Enable delete buttons in Settings, and turn on Allow media deletion in Plex (Settings → Library).
Before You Scan
Plex is the source of truthDeduplarr reads Plex's database through the Plex API. It does not inspect mounted media folders directly, so scan results are only as current as Plex's most recent library scan and file analysis.
- Finish downloads, imports, upgrades, and post-processing before running Deduplarr.
- Select the affected libraries and use Scan Plex before running a Deduplarr media or subtitle scan.
- Wait for Plex to finish scanning and analyzing changed files before trusting codec, bitrate, resolution, size, or subtitle stream details.
Recommended Flow
Safe order- Let Radarr, Sonarr, download clients, Tdarr, and any other file processors finish their work.
- Select the libraries that changed and use Scan Plex.
- Confirm Plex now shows the expected file versions, paths, sizes, codecs, and subtitle sidecars.
- Run the Media Files or Subtitle Files scan in Deduplarr.
- Review keep preferences, suggested keepers, and file paths before deleting.
- Use bulk delete only after the scan reflects the current Plex state.
Stale Results
Common causes- Plex is set to scan periodically, such as once per day, and Deduplarr runs before that scan happens.
- Automatic Plex change detection is disabled or unreliable on network, remote, or FUSE-style mounts.
- An upgrade replaced a file in place, but Plex has not re-read the changed file metadata yet.
- Tdarr or another processor changed the file after Plex first detected it.
- External subtitle files were added, removed, or renamed after Plex last scanned the folder.
Cleanup Limits
What Plex can delete- Media deletion removes whole Plex media versions, not individual tracks inside a file.
- A movie split into several files (
cd1/cd2) is one version. Its parts are never offered for deletion. - Subtitle cleanup targets external sidecar subtitle files only.
- Embedded and burned-in subtitles are ignored because Plex cannot delete them as standalone sidecars.
- Subtitles with no language tag are never removed by Delete non-preferred languages.
- Plex must have Allow media deletion turned on and filesystem write access to the target path.
- If a delete fails, check the sampled failure detail and the Deduplarr server log before retrying in bulk.
Delete Safety
Checked on every deleteBefore each media delete, Deduplarr asks Plex for the item's current versions. It refuses to delete:
- The version you chose to keep, or any part of it.
- The last remaining copy of an item.
- Anything at all, if your keeper has disappeared since the scan. Rescan and try again.
Scheduling
Avoid racing PlexSchedule Deduplarr after Plex and post-processing jobs normally finish. If Plex scans at 3:00 AM and Tdarr often runs afterward, give Deduplarr a buffer instead of scheduling it at the same time.
- Media and subtitle schedules are separate.
- Scheduled scans use the container's time zone. Set
TZon the container; Settings shows the active zone. - The latest scheduled results load automatically when you open Media Files or Subtitle Files. They're kept until the container restarts.
- Monthly schedules on days beyond the current month run on that month's last day.
- Scheduled Deduplarr scans do not force Plex to scan first.
Sign-in & Access
Authentication- After 10 failed sign-ins from one address, that address is blocked for 15 minutes.
- Changing the username, password, or auth mode signs out every other session.
- With reverse-proxy auth, user headers are only trusted from the trusted proxy addresses in Settings. Narrow the list to your proxy's address and don't expose port 7889 directly.