You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If you run a Plex server, you know the pain. Your library keeps growing, nobody watches half of it, and you're constantly running out of disk space. Prunerr sits between your Plex server and your *arr apps and figures out what's worth keeping.
28
28
29
-
Prunerr is a media library management tool that helps you automatically identify and clean up unwatched or stale content from your Plex library. It integrates with Sonarr, Radarr, Tautulli, and Overseerr to make intelligent decisions about what to keep and what to remove.
30
-
31
-
Stop manually hunting through your library for content nobody watches. Let Prunerr handle it.
29
+
You set up rules like "delete movies nobody's watched in 6 months that are over 20GB" and Prunerr handles the rest. Everything goes through a deletion queue first, so nothing gets removed without you knowing about it.
32
30
33
31
## Features
34
32
35
-
-**Smart Rules Engine** - Create flexible rules based on watch status, age, file size, and more
36
-
-**Plex Integration** - Syncs with your Plex library to track what's been watched
37
-
-**Tautulli Support** - Deep watch history analysis for accurate cleanup decisions
38
-
-**Sonarr & Radarr Integration** - Automatically unmonitor or delete content from your *arr apps
39
-
-**Overseerr Integration** - Reset requests when content is removed so users can re-request
40
-
-**Grace Periods** - Configure how long items wait in the deletion queue before removal
41
-
-**Protection Rules** - Mark content as protected to prevent accidental deletion
42
-
-**Deletion Queue** - Review and approve deletions before they happen
43
-
-**Activity History** - Full audit log of all actions taken
44
-
-**Discord Notifications** - Get notified when content is flagged or deleted
45
-
-**Modern Web UI** - Beautiful, responsive dashboard that works on desktop and mobile
33
+
-**Rules Engine**— 28 condition fields across quality, ratings, watch history, collections, and metadata. Three ways to build rules: templates, natural language, or a full nested condition editor with live preview. [More →](https://github.com/helliott20/prunerr/wiki/Rules-Engine)
34
+
35
+
-**Collections**— Syncs movie collections from Radarr. Protect entire collections to prevent cleanup, or queue them for bulk deletion. [More →](https://github.com/helliott20/prunerr/wiki/Collections)
36
+
37
+
-**Smart Deletion**— Grace periods, four deletion actions (unmonitor, delete files, full removal, etc.), Overseerr request resets, and a review queue. Nothing gets deleted without your say-so. [More →](https://github.com/helliott20/prunerr/wiki/Deletion-Management)
38
+
39
+
-**Dashboard**— Library stats, storage trends, service health monitoring, upcoming deletions, and recommendations at a glance.
40
+
41
+
-**Per-User Watch History**— Integrates with Tautulli or Tracearr to track who watched what. Build rules around specific users' watching habits.
46
42
47
-
## Installation
43
+
-**API**— Full REST API with key authentication for scripts, automation, and mobile apps like nzb360. [More →](https://github.com/helliott20/prunerr/wiki/API-Reference)
48
44
49
-
### Docker (Recommended)
45
+
##Quick Start
50
46
51
47
```bash
52
48
docker run -d \
@@ -62,173 +58,42 @@ docker run -d \
62
58
helliott20/prunerr:latest
63
59
```
64
60
65
-
### Docker Compose
66
-
67
-
```yaml
68
-
version: '3.8'
69
-
services:
70
-
prunerr:
71
-
image: helliott20/prunerr:latest
72
-
container_name: prunerr
73
-
ports:
74
-
- "3000:3000"
75
-
volumes:
76
-
- ./data:/app/data
77
-
environment:
78
-
- PLEX_URL=http://plex:32400
79
-
- PLEX_TOKEN=your-plex-token
80
-
- SONARR_URL=http://sonarr:8989
81
-
- SONARR_API_KEY=your-sonarr-api-key
82
-
- RADARR_URL=http://radarr:7878
83
-
- RADARR_API_KEY=your-radarr-api-key
84
-
# Optional integrations
85
-
- TAUTULLI_URL=http://tautulli:8181
86
-
- TAUTULLI_API_KEY=your-tautulli-api-key
87
-
- OVERSEERR_URL=http://overseerr:5055
88
-
- OVERSEERR_API_KEY=your-overseerr-api-key
89
-
- DISCORD_WEBHOOK_URL=your-discord-webhook
90
-
restart: unless-stopped
91
-
```
92
-
93
-
### Unraid
94
-
95
-
Prunerr is available in the Unraid Community Applications. Search for "Prunerr" or use the template URL:
|`PLEX_URL`| URL to your Plex server (e.g., `http://192.168.1.100:32400`) |
108
-
|`PLEX_TOKEN`| Your Plex authentication token ([how to find](https://support.plex.tv/articles/204059436-finding-an-authentication-token-x-plex-token/)) |
109
-
110
-
### Sonarr/Radarr (Recommended)
111
-
112
-
| Variable | Description |
113
-
|----------|-------------|
114
-
|`SONARR_URL`| URL to your Sonarr instance |
115
-
|`SONARR_API_KEY`| Sonarr API key (Settings → General → Security) |
116
-
|`RADARR_URL`| URL to your Radarr instance |
117
-
|`RADARR_API_KEY`| Radarr API key (Settings → General → Security) |
118
-
119
-
### Optional Integrations
120
-
121
-
| Variable | Description |
122
-
|----------|-------------|
123
-
|`TAUTULLI_URL`| URL to your Tautulli instance |
124
-
|`TAUTULLI_API_KEY`| Tautulli API key (Settings → Web Interface) |
125
-
|`OVERSEERR_URL`| URL to your Overseerr instance |
126
-
|`OVERSEERR_API_KEY`| Overseerr API key (Settings → General) |
127
-
|`DISCORD_WEBHOOK_URL`| Discord webhook for notifications |
Prunerr uses a smart rule builder to create cleanup policies:
61
+
Also available via **Docker Compose** and the **Unraid Community Apps** store. See the [Installation guide](https://github.com/helliott20/prunerr/wiki/Installation) for full details.
142
62
143
-
1.**Template Rules** - Start with pre-built templates like "Never Watched" or "Watched Once"
144
-
2.**Sentence Builder** - Create rules using natural language: "Delete movies that have never been watched and were added more than 30 days ago"
145
-
3.**Advanced Mode** - Full control over conditions and operators
63
+
## Integrations
146
64
147
-
### Rule Actions
65
+
| Service | Purpose | Required |
66
+
|---------|---------|----------|
67
+
|**Plex**| Media server — library data, watch status | Yes |
68
+
|**Sonarr**| TV show management | Recommended |
69
+
|**Radarr**| Movie management, collections | Recommended |
70
+
|**Tautulli** / **Tracearr**| Per-user watch history | One required |
-**Flag** - Mark items for review without scheduling deletion
150
-
-**Delete** - Add items to the deletion queue with a grace period
151
-
-**Notify** - Send a notification without taking action
75
+
## Mobile
152
76
153
-
### Deletion Actions
77
+
Prunerr works as a custom web app in [nzb360](https://nzb360.com/) on Android, or in any mobile browser. The UI is fully responsive. See the [Mobile Access guide](https://github.com/helliott20/prunerr/wiki/Mobile-Access).
154
78
155
-
When deleting content, choose how it's removed:
79
+
## Documentation
156
80
157
-
-**Unmonitor Only** - Stop monitoring but keep files
158
-
-**Delete Files Only** - Remove files but keep in Sonarr/Radarr
159
-
-**Unmonitor & Delete** - Remove files and stop monitoring
160
-
-**Full Removal** - Completely remove from Sonarr/Radarr
81
+
Full docs are in the **[Wiki](https://github.com/helliott20/prunerr/wiki)**:
161
82
162
-
### Protection
163
-
164
-
Mark important content as protected to prevent deletion:
165
-
- Manually protect individual items
166
-
- Use bulk actions to protect multiple items
167
-
- Protected items are ignored by all rules
168
-
169
-
## Screenshots
170
-
171
-
*Coming soon*
172
-
173
-
## API
174
-
175
-
Prunerr exposes a REST API for automation and integration:
0 commit comments