All Projects → se1exin → Cleanarr

se1exin / Cleanarr

Licence: MIT license
A simple UI to help find and delete duplicate and sample files from your Plex server

Programming Languages

typescript
32286 projects
python
139335 projects - #7 most used programming language
HTML
75241 projects

Labels

Projects that are alternatives of or similar to Cleanarr

flixctl
A toolkit for controlling the infrastructure necessary for a true MaSaS (Movies and Shows as a Service) architecture.
Stars: ✭ 43 (-62.61%)
Mutual labels:  plex
homebridge-plex-sensors
Homebridge Sensors for Plex - a plugin for Homebridge to adds sensors triggered by Plex playbacks.
Stars: ✭ 110 (-4.35%)
Mutual labels:  plex
plaxt
Webhooks based Trakt.tv scrobbling for Plex
Stars: ✭ 20 (-82.61%)
Mutual labels:  plex
CSM.bundle
No description or website provided.
Stars: ✭ 22 (-80.87%)
Mutual labels:  plex
rpi-nas
🌐👨‍💻💻 Setup your own NAS on a Raspberry Pi
Stars: ✭ 29 (-74.78%)
Mutual labels:  plex
Improved-Plex-Mobile
Changes to Plex web for a better mobile viewing experience. Finally, a better Plex mobile site.
Stars: ✭ 32 (-72.17%)
Mutual labels:  plex
Doplarr
An *arr request bot for Discord
Stars: ✭ 236 (+105.22%)
Mutual labels:  plex
PlexKodiConnect
Plex integration in Kodi done right
Stars: ✭ 917 (+697.39%)
Mutual labels:  plex
plex-utills
Manage your Plex library automatically
Stars: ✭ 258 (+124.35%)
Mutual labels:  plex
PlexAutoSkip
Automatically skip content in Plex
Stars: ✭ 95 (-17.39%)
Mutual labels:  plex
ombi-bot
Telegram bot for OMBI
Stars: ✭ 39 (-66.09%)
Mutual labels:  plex
arch-plexpass
Docker build script for Arch Linux base with Plex Pass Media Server installed
Stars: ✭ 21 (-81.74%)
Mutual labels:  plex
AudioAddict.bundle
Plex channel plugin for AudioAddict (radiotunes.com, di.fm, etc.)
Stars: ✭ 23 (-80%)
Mutual labels:  plex
WebTools-NG
WebTools Next Generation for Plex
Stars: ✭ 354 (+207.83%)
Mutual labels:  plex
dash
Server control panel
Stars: ✭ 22 (-80.87%)
Mutual labels:  plex
muvio.bundle
A music video extras agent for Plex
Stars: ✭ 14 (-87.83%)
Mutual labels:  plex
fylm
A wonderful automated command line app for organizing your film media. Built for Plex and SABnzbd.
Stars: ✭ 25 (-78.26%)
Mutual labels:  plex
plex2letterboxd
Export your watched movies on Plex to the Letterboxd Import Format.
Stars: ✭ 35 (-69.57%)
Mutual labels:  plex
clusterplex
ClusterPlex is basically an extended version of Plex, which supports distributed Workers across a cluster to handle transcoding requests.
Stars: ✭ 123 (+6.96%)
Mutual labels:  plex
seedbox-from-scratch
The Dockered Seedbox From Scratch Mod 2 Script
Stars: ✭ 14 (-87.83%)
Mutual labels:  plex

Cleanarr

A simple UI to help find and delete duplicate and sample files from your Plex server.

Note: At this time only Plex Content Libraries (TV/Movies) are supported.

Plex Setup

You need to check Settings | Library | Allow media deletion within your plex server’s settings

You will need a Plex Token: How to find your Plex Token

Run with Docker

This project is available as a docker container on Docker Hub.

Docker Parameters

You will need to set the correct parameters for your setup:

Parameter Function
-v /some/path/on/your/computer:/config (required) Volume mount for config directory
-e PLEX_BASE_URL="plex_address" (required) Plex Server Address (e.g. http://192.169.1.100:32400)
-e PLEX_TOKEN="somerandomstring" (required) A valid Plex token for your Plex Server (How to find your Plex Token)
-e LIBRARY_NAMES="Movies" (optional) Name(s) of your Plex Libraries to search. Separate multiple library names with ";" character. E.g. "Movies 1;Movies 2". Default value is "Movies"
-e BYPASS_SSL_VERIFY=1 (optional) Disable SSL certificate verification. Use this if your Plex Server has "Secure Connections: Required" and you are having issues connecting to it. (Thanks @booksarestillbetter - #2)
-p 5000:80 (required) Expose the UI via the selected port (in this case 5000). Change 5000 to the port of your choosing, but don't change the number 80.
-e PAGE_SIZE=50 (optional) To avoid plex timeouts, results are loaded in pages (or chunks). If you recieve Plex Timeout errors, try setting this parameter to a lower value.
-e DEBUG=0 (optional) To enable debug logging set DEBUG to 1

Example running directly with docker

docker run \
	-e PLEX_BASE_URL="http://192.169.1.100:32400" \
	-e PLEX_TOKEN="somerandomstring" \
	-e LIBRARY_NAMES="Movies" \
	-p 5000:80 \
  -v /some/path/on/your/computer:/config \
	selexin/cleanarr:latest

Example using Docker Compose

(Thanks @JesseWebDotCom - #8)

Note that environment variables should not be quoted when using docker-compose.yml format

version: '3'

services:

  cleanarr:
    image: selexin/cleanarr:latest
    container_name: cleanarr
    hostname: cleanarr
    ports:
      - "5000:80"
    environment:
      - BYPASS_SSL_VERIFY=1
      - PLEX_TOKEN=somerandomstring
      - PLEX_BASE_URL=http://192.169.1.100:32400
      - LIBRARY_NAMES=Adult Movies;Kid Videos
    volumes:
      - /some/path/on/your/computer:/config
    restart: unless-stopped

You can then access the UI in your browser at http://localhost:5000/.

Run from Source / Setup Development Environment

To run from source you need to run two parts - the Python Backend and React Frontend.

First clone down this repo:

git clone https://github.com/se1exin/cleanarr

Backend

Requirements: python3

The backend is just a thin wrapper around the Python Plex API using Flask to serve requests. I recommend using a virtualenv to run.

You should change to the backend folder to get things running:

cd backend

Setup the python environment and dependencies:

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

Run the Backend:

PLEX_BASE_URL="plex_address" PLEX_TOKEN="somerandomstring" LIBRARY_NAMES="Movies" FLASK_APP=main python -m flask run

The backend will start and run from port 5000 on localhost (e.g. http:localhost:5000).

See Flask's Docs for more run options (such as chaning the port).

Frontend

Requirements: node, yarn.

You should change to the frontend folder to get things running:

cd frontend

Setup the node environment and dependencies:

yarn install

Run the Frontend development server:

Note: change REACT_APP_BACKEND_URL to match where your backend is running at - make sure to include the trailing slash!

REACT_APP_BACKEND_URL="http://localhost:5000/" yarn start

The frontend will now be available in your browser at http:localhost:3000.

Screenshots

Demo of deleting duplicate movies

Credits

Thanks to the following projects:

License

MIT - see LICENSE.md

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].