Changes
🚀 Feature Release - Skip Duplicate Downloads with Plex Existence Checking
Overview
Adds intelligent duplicate detection to prevent downloading content that already exists on accessible Plex servers. Includes multi-server support, role-based checking, and performance optimizations for shared Plex environments.
Key Updates
Plex Configuration Enhancements
- Skip duplicate downloads: New
skipIfExistsOnPlexsetting checks accessible Plex servers before downloading - Server URL configuration: Configure Plex server URL directly from UI (previously environment variable only)
- Multi-server awareness: Searches owner's server and all shared servers you have access to
- Role-based checking: Primary users check all accessible servers, friend users check only the owner's server
- Efficient API usage: Server list cached per workflow to minimize plex.tv API calls
How it works:
- User adds content to watchlist
- During reconciliation, Pulsarr checks if content exists on any accessible Plex server
- If found, skips adding to Radarr/Sonarr (no download triggered)
- If not found, proceeds with normal download workflow
Configuration:
- Enable via Plex Configuration page → "Skip if exists on Plex"
- Or set environment variable:
SKIP_IF_EXISTS_ON_PLEX=true - Requires primary token with server access
Performance Optimizations
- Parallel server checks: All accessible servers checked simultaneously for faster results
- Early termination: Stops searching once content is found on any server
- Concurrency control: p-limit ensures optimal performance without overwhelming servers
- Resilient fallback: Owner server always checked even during plex.tv outages
Technical Changes
- Refactored Plex utilities into modular components (labels, metadata, sessions, resources)
- Enhanced error handling with cache clearing on configuration updates
- Improved GUID parsing and label update logic in watchlist workflow
- Per-server access tokens for improved authentication across shared servers
Migration & Compatibility
Database migration - Automatic on startup, adds skipIfExistsOnPlex setting (defaults to disabled)
Full Changelog: v0.6.8...v0.7.0
Docker Image: lakker/pulsarr:0.7.0
- feat: Skip Duplicate Downloads with Plex Existence Checking (#717) @jamcalli
- Feature/plex existence check changes (#716) @jamcalli
- Feature/plex existence check fixes (#710) @jamcalli
- feat: add skipIfExistsOnPlex configuration to prevent duplicate downloads (#709) @jamcalli
🔄 Dependencies
- chore(deps): update tailwind css (#714) @renovate[bot]
- chore(deps): update softprops/action-gh-release digest to 5be0e66 (#711) @renovate[bot]
- chore(deps): update fastify ecosystem (#715) @renovate[bot]
- chore(deps): update radix ui (#713) @renovate[bot]
- chore(deps): update dev dependencies (non-critical) (#712) @renovate[bot]
- chore(deps): update docker/setup-qemu-action digest to c7c5346 (#703) @renovate[bot]
- chore(deps): update dependency @scalar/fastify-api-reference to v1.39.2 (#704) @renovate[bot]
- chore(deps): update build tools (#705) @renovate[bot]
- chore(deps): update docker/metadata-action digest to 318604b (#702) @renovate[bot]
Docker
docker pull lakker/pulsarr:0.7.0
Contributors
@actions-user, @jamcalli, @renovate[bot] and renovate[bot]