Skip to content

Effortlessly maintain a streamlined movie library by removing unwanted movies from Radarr / Plex.

License

Notifications You must be signed in to change notification settings

nicholasodonnell/usharr

Repository files navigation

With Usharr, you can effortlessly maintain a streamlined movie library by removing unwanted movies based on your preferences and criteria. It integrates with your existing Radarr and Tautulli services and allows you to define specific rules for removing movies from your library.

CD

Current Features

  • Watch status — Delete movies that are watched or unwatched.
  • Last watched — Delete movies that have not been watched after a certain amount of time.
  • Download Age — Delete movies that have been downloaded after a certain amount of time (upgrades reset the download age).
  • IMDB Rating — Delete movies with a low IMDB rating.
  • TMDB Rating — Delete movies with a low The Movie Database rating.
  • Metacritic Rating — Delete movies with a low Metacritic rating.
  • Rotten Tomatoes Rating — Delete movies with a low Rotten Tomatoes rating.
  • Tags — Only monitor movies with specific tags in Radarr.
  • Lists — Monitor when movies fall off of a list in Radarr.
  • Ignore movies — Mark individual movies as ignored so they are never deleted.
  • Full Radarr integration — Fully syncs with your existing Radarr library. When a movie is removed by Usharr, the movie file is deleted from your library and excluded in Radarr.
  • Full Tautulli integration — Fully syncs with your existing Tautulli instance. Watched movies are synced from Tautulli to Usharr so your rules stay up-to-date.

With more features on the way! Check out the issues to see the features which have already been requested. Pull requests are also welcome!

Getting Started

❗ Be sure to replace /path/to/config in the below examples with a valid host directory path. The TZ environment variable value should also be set to the TZ database name of your time zone.

❕ After running Usharr for the first time, configure it by visiting the web UI at http://[address]:5588.

Docker

docker run -d \
  -e TZ=America/New_York \
  -p 5588:5588 \
  -v /path/to/config:/config \
  --restart unless-stopped \
  nicholasodonnell/usharr:latest

Docker Compose

version: '3'

services:
  usharr:
    image: nicholasodonnell/usharr:latest
    container_name: usharr
    environment:
      - TZ=America/New_York
    ports:
      - 5588:5588
    volumes:
      - /path/to/config:/config
    restart: unless-stopped

Preview

Development

  1. npm i
  2. npm run db:generate
  3. docker-compose up
  4. Navigate to localhost:3000 to view the web UI
  5. Navigate to localhost:3001/api to view the Swagger docs

Generate migration

docker-compose run --rm -it app npm run db:migrate