All apps · 0 apps
media-watchdog
Docker app from Overboardkiller's Repository
Overview
Readme
View on GitHubMedia Watchdog
Let your Emby users manage their own media — without giving them the keys to the kingdom.
The problem it solves
Running an Emby server for family and friends with Seerr auto-approval works well — until people start requesting entire seasons of shows, watching two episodes, and moving on. Reality TV is another common one: downloaded, barely touched, sitting there forever.
Giving users delete access is too much. Manually monitoring every request is too time consuming. Media Watchdog fills that gap — it gives users a simple interface to review what they've requested and flag anything they no longer want. Admins get a dashboard showing everything across all users, with the ability to action those flags and delete directly from Radarr and Sonarr, or override a flag if something is worth keeping.
What it does
- Watch history at a glance — cross-references Seerr requests with Emby watch history so you can see what's actually being watched, when it was last played, and how far through a series someone got
- User flagging — users log in with their Emby credentials and can flag their own requests for deletion, putting them in a queue for admin review
- Admin controls — admins see all requests across all users and can delete directly from Radarr and Sonarr, removing the file, the Seerr request, and the Arr entry in one action
- Per-season management — flag individual seasons of a show rather than the entire series, useful when someone is still watching later seasons
- Protect from deletion — admins can mark items as protected to prevent them being deleted even if a user flags them, handy when multiple people are watching the same content
- Requester reassignment — if media was downloaded for someone else under a different account, it can be reassigned so the correct user can manage it themselves (local to Media Watchdog only, does not affect Seerr)
- TMDB scores — displayed on every item so you can make informed decisions about what's worth keeping
- Organised by Arr instance — tabs reflect your actual Radarr and Sonarr instances with custom names you define
- Scheduled cache refresh — stays in sync with Seerr and Emby automatically
Requirements
- Emby Server with API access enabled
- Seerr (Overseerr or Jellyseerr) with API access enabled
- Radarr and/or Sonarr (optional — required for deletion features, must have file deletion rights enabled)
First time setup
On first launch, Media Watchdog will walk you through a three-step setup wizard:
- Emby — enter your internal Emby URL and API key
- Seerr — enter your internal Seerr URL and API key, and optionally your public Seerr URL for clickable links
- Admin account — log in with your Emby admin account to complete setup
Once the wizard is complete, the app will run its first cache build automatically. After that:
- Go to Settings → Sync from Seerr — this imports all your Radarr and Sonarr instances directly from Seerr, including their URLs
- Add API keys for each Arr instance in Settings — this enables one-click deletion from the interface
- Radarr and Sonarr must have file deletion enabled in their settings for deletions to work end-to-end
- Deletion is restricted to Emby admins only
Note on requester reassignment: If media was downloaded for another person and sits under the wrong account, it can be reassigned in Media Watchdog. This is a local override only — it does not modify anything in Seerr. Once reassigned, the correct user can flag it for deletion themselves.
Docker
docker run -d \
--name media-watchdog \
-p 5000:5000 \
-v /path/to/appdata/media-watchdog/data:/data \
-v /path/to/appdata/EmbyServer:/emby-appdata:ro \
--restart unless-stopped \
overboardkiller/media-watchdog:latest
Docker Compose
services:
media-watchdog:
image: overboardkiller/media-watchdog:latest
container_name: media-watchdog
restart: unless-stopped
ports:
- "5000:5000"
volumes:
- /path/to/appdata/media-watchdog/data:/data
- /path/to/appdata/EmbyServer:/emby-appdata:ro
Volumes
| Path | Description |
|---|---|
/data |
Persistent storage for the database, session data, and logs. Must be mounted to survive container restarts. |
/emby-appdata |
Read-only mount of your Emby Server appdata directory. Used to read watch history directly from Emby's database. |
Unraid
Available in Community Applications — search Media Watchdog.
Or add the template repository manually under Apps → Settings → Template Repositories:
https://github.com/overboardkiller/unraid-templates
Requirements
Download Statistics
Related apps
Explore more like this
Explore allDetails
overboardkiller/media-watchdogRuntime arguments
- Web UI
http://[IP]:[PORT:5000]- Network
bridge- Shell
sh- Privileged
- false
- Extra Params
--restart unless-stopped
Template configuration
Port for the Media Watchdog web interface.
- Target
- 5000
- Default
- 5000
- Value
- 5000
Persistent storage for Watchdog database and logs.
- Target
- /data
- Default
- /mnt/user/appdata/media-watchdog/data
- Value
- /mnt/user/appdata/media-watchdog/data
Read-only path to your Emby Server appdata directory. Used to read watch history directly. Default is usually /mnt/user/appdata/EmbyServer
- Target
- /emby-appdata