Sync watched status between jellyfin, plex and emby locally
 
 
 
Go to file
Luigi311 88a7526721
Use async for jellyfin (#23)
* Use async

* Massive jellyfin watched speedup

Co-authored-by: Luigi311 <luigi311.lg@gmail.com>
2022-07-10 01:30:12 -06:00
.github/workflows Use async for jellyfin (#23) 2022-07-10 01:30:12 -06:00
.vscode Use async for jellyfin (#23) 2022-07-10 01:30:12 -06:00
src Use async for jellyfin (#23) 2022-07-10 01:30:12 -06:00
test Use async for jellyfin (#23) 2022-07-10 01:30:12 -06:00
.dockerignore Initial 2022-05-22 21:49:10 -06:00
.env.sample Use async for jellyfin (#23) 2022-07-10 01:30:12 -06:00
.gitignore Use async for jellyfin (#23) 2022-07-10 01:30:12 -06:00
Dockerfile Use async for jellyfin (#23) 2022-07-10 01:30:12 -06:00
LICENSE Use async for jellyfin (#23) 2022-07-10 01:30:12 -06:00
README.md Use async for jellyfin (#23) 2022-07-10 01:30:12 -06:00
main.py Use async for jellyfin (#23) 2022-07-10 01:30:12 -06:00
requirements.txt Use async for jellyfin (#23) 2022-07-10 01:30:12 -06:00

README.md

JellyPlex-Watched

Codacy Badge

Sync watched between jellyfin and plex

Description

Keep in sync all your users watched history between jellyfin and plex servers locally. This uses the imdb ids and any other matching id to find the correct episode/movie between the two. This is not perfect but it works for most cases. You can use this for as many servers as you want by enterying multiple options in the .env plex/jellyfin section seperated by commas.

Configuration

Installation

Baremetal

  • Setup virtualenv of your choice

  • Install dependencies

      pip install -r requirements.txt
    
  • Create a .env file similar to .env.sample, uncomment whitelist and blacklist if needed, fill in baseurls and tokens

  • Run

    python main.py
    

Docker

  • Build docker image

    docker build -t jellyplex-watched .
    
  • or use pre-built image

    docker pull luigi311/jellyplex-watched:latest
    

With variables

  • Run

    docker run --rm -it -e PLEX_TOKEN='SuperSecretToken' luigi311/jellyplex-watched:latest
    

With .env

  • Create a .env file similar to .env.sample and set the MNEMONIC variable to your seed phrase

  • Run

     docker run --rm -it -v "$(pwd)/.env:/app/.env" luigi311/jellyplex-watched:latest
    

Contributing

I am open to recieving pull requests. If you are submitting a pull request, please make sure run it locally for a day or two to make sure it is working as expected and stable. Make all pull requests against the dev branch and nothing will be merged into the main without going through the lower branches.

License

This is currently under the GNU General Public License v3.0.