Skip to content

wilmardo/migrate-plex-to-jellyfin

Repository files navigation

Migrate Plex to Jellyfin

WIP, project to migrate Plex watched statusses to Jellyfin, based on the file name of the media :)

Getting started

Install requirements (in virtualenv):

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

Command example:

python3 migrate.py --insecure --debug --plex-url https://plex.test.com:32400 --plex-token 123123123 --jellyfin-url https://jellyfin.test.com --jellyfin-token 123123123 --jellyfin-user user

To migrate a Plex managed user to a Jellyfin user, specify the managed user's name in addition to the account's token, for example:

python3 migrate.py --insecure --debug --plex-url https://plex.test.com:32400 --plex-token 123123123 --plex-managed-user user --jellyfin-url https://jellyfin.test.com --jellyfin-token 123123123 --jellyfin-user user
Usage: migrate.py [OPTIONS]

Options:
  --plex-url TEXT           Plex server url  [required]
  --plex-token TEXT         Plex token  [required]
  --plex-managed-user TEXT  Name of a managed user
  --jellyfin-url TEXT       Jellyfin server url  [required]
  --jellyfin-token TEXT     Jellyfin token  [required]
  --jellyfin-user TEXT      Jellyfin user  [required]
  --translate PATH:PATH  Translate plex paths to jellyfin
  --secure / --insecure     Verify SSL
  --debug / --no-debug      Print more output
  --no-skip / --skip        Skip when no match it found instead of exiting
  --dry-run                 Do not commit changes to Jellyfin
  --help                    Show this message and exit.

Translation Notes

If your Plex and Jellyfin libraries are mounted in different base directories you may translate between the two with the --translate option. Each use of the option requires two paths separated by a colon. The first path is the Plex path and the second is the Jellyfin path.

Translations only happen at the beginning of the path, and ALL translations are applied in sequence.

Using Docker image

In the folder, build the image using:

docker build -t migrate-plex-to-jellyfin:local .

then run it using the following command:

docker run migrate-plex-to-jellyfin:local --insecure --debug --plex-url https://plex.test.com:32400 --plex-token 123123123 --jellyfin-url https://jellyfin.test.com --jellyfin-token 123123123 --jellyfin-user user

About

Migrate watched status from Plex to Jellyfin

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 8

Languages