Jellysweep
Smart cleanup for Jellyfin that analyzes playback stats, integrates with Sonarr/Radarr and jellyseerr, and automatically tags or deletes old unwatched media with a web UI and PWA.
Jellysweep is a smart cleanup service for Jellyfin media servers that analyzes viewing statistics and external requests to mark old or unwatched media for deletion. It integrates with Sonarr, Radarr, jellyseerr and stats providers to decide what to sweep while offering an admin review flow and user keep-requests.
Key Features
- Smart analytics that checks jellyseerr for user requests and Jellystat/Streamystats for playback stats
- Tag-based control by applying Sonarr/Radarr tags to mark items for deletion
- Disk-usage monitoring with multi-tier thresholds to accelerate cleanup when storage is low
- Flexible TV cleanup modes (delete all, keep first N episodes, keep first N seasons) with automatic unmonitoring in Sonarr
- Leaving Collections: automatically creates Jellyfin collections of items scheduled for deletion for easy review
- Built-in keep-request workflow: users can request items to be retained; admins can approve/decline via the UI
- Notifications (email and web-push) and a PWA-enabled web interface for mobile/desktop interaction
- Web authentication options including OIDC/SSO and Jellyfin-based auth, plus VAPID key support for push notifications
- Deployable via Docker Compose and configurable via YAML or environment variables
Use Cases
- Reclaim storage on a home media server by automatically marking long-unwatched movies and TV episodes for removal
- Enforce library retention policies in multi-user Jellyfin installations while allowing users to request keeps
- Automate disk-pressure responses: shorten grace periods and accelerate deletions when storage thresholds are exceeded
Limitations and Considerations
- Disk-usage monitoring in containerized deployments requires Jellyfin library paths to be mounted at identical locations inside the Jellysweep container
- Recommended to run in dry-run mode first and review logs/dashboard before enabling automatic deletions
- Some stats backends (noted in docs) may have limitations (for example streamystats handling of re-added content); behavior may vary by stats provider
Jellysweep is focused on safe, configurable lifecycle management for media libraries with an emphasis on integrations (Sonarr/Radarr/jellyseerr) and admin/user workflows. It is intended to be tested in dry-run mode prior to turning on automatic deletions to verify filters and thresholds.