How I made PlexTraktSync Work for my Setup? (Docker + Portainer)

As I’ve mentioned before, it’s really a headache trying to sync Plex media to Trakt without paying extra for both Trakt VIP and Plex Pass.

Fortunately, I was able to make PlexTraktSync work with my current setup:

  • I have Plex Media Server installed on a Docker in Openmediavault.
  • Although I paid for Lifetime Plex Pass, I didn’t pay for Trakt VIP.
  • Installed PlexTraktSync using the Docker Compose method.

Opening the terminal, I created directories in /docker/plextraktsync like so:
cd /
mkdir docker
cd docker
mkdir plextraktsync
cd plextraktsync

Created the docker-compose.yml file:
nano docker-compose.yml

Pasted in the docker-compose.yml:

services:
  plextraktsync:
    image: ghcr.io/taxel/plextraktsync
    container_name: plextraktsync
    volumes:
      - /[PATH_TO_CONFIG_DIR]:/app/config

Obviously, you need to change the [PATH_TO_CONFIG_DIR]. Press Ctrl+O, save, and Ctrl+X to close the docker-compose.yml file, then run the docker for the first time:
docker-compose run --rm plextraktsync

Here, you’ll need to connect your Plex account to your Trakt.tv account. Just follow the setup process guide especially when it comes to the trakt.tv application. Your Plex and Trakt accounts will then sync for the first time, while the command will create a container, which you can check out in Portainer if you want.

I suggest running the container detached by running the command:
docker-compose up -d plextraktsync

After the first sync is complete, you may edit the docker-compose.yml with nano to add the command: watch line and add a restart policy, like so:

services:
  plextraktsync:
    image: ghcr.io/taxel/plextraktsync
    container_name: plextraktsync
    volumes:
      - /[PATH_TO_CONFIG_DIR]:/app/config
    command: watch
    restart: unless-stopped

This way, as you finish shows and movies, they’re automatically marked as watched on Trakt.

As you add more episodes and movies, however, I noted that they are not automatically added in your Trakt collections. You can sync them again by running the following command in the same /docker/plextraktsync directory:
docker-compose run --rm plextraktsync sync --sync=all

Issues I’ve noted so far:

  • There were a few unmatched movies and shows
  • When deleting media from your Plex server, they are not automatically deleted from collections in Trakt. I guess you have to run clear-collections  in this case.

Check out more commands available by running the command:
docker-compose run --rm plextraktsync --help

I found the documentation of PlexTraktSync on Github too constricted, that’s why I tried to document here whatever to the best of my knowledge I think at least how it worked for my case, so you’re welcome.

4 Comments

  1. Thanks for the guide! I already have plextraktsync setup in docker in “watch” mode (I set it up through docker run) – but in this mode (as you say above) it does not automatically “sync” and I am yet to find an elegant solution to constantly running watch mode with intermittent syncs.

    In the last command you posted you have the – -rm flag which removes the container after its finished. Is this sync container a separate instance of plextraktsync? And you have another container constantly running in watch mode? Would/does this solution work?

    • Yes, when you run the script, it creates another container that’s named plextraktsync_run, that’s why you need to rm that in the end.

  2. If you find documentation too constricted, submit your contribution to
    improve the documentation rather than write tons of blog posts about it.

    An alternative is adding those blog posts to the readme.

    • Sorry but this the only way I know how to contribute. But if you can validate my procedure and make sure that it will work the same with everyone, please feel free to copy over my post to github.

Leave a Reply

Your email address will not be published. Required fields are marked *