I-am-PUID-0 / pd_zurg

A combined docker image for the unified deployment of itsToggle's, yowmamasita's, and ncw's projects -- plex_debrid, zurg, and rclone
MIT License
117 stars 10 forks source link

Plex doesn't recognize path? #38

Open roydufek opened 4 months ago

roydufek commented 4 months ago

Describe the bug

This has been driving me up the wall! To preface I love this combo and it everyting is working good except for the library update script.

To Reproduce

Add a movie to watchlist.

Expected behavior

Movie is added to real-debrid and shows up in the rclone mounted folder. All is good, except when the library refresh script runs there is an error on plex log side that the directory doesn't exist. I can manually scan the library and the movie pops up and when I check the info, it shows the same path that says it can't read from in the error logs. I'm half temped to just update the script to just include the general library refresh url: http://[PMS_IP_ADDRESS]:32400/library/sections/1/refresh?force=1&X-Plex-Token=YourTokenGoesHere

I know this is heavier than your script which is partial but I just want it to update!!!

Another thing is I've included a screenshot that shows about half the movies I add, the path in the logs show the filename instead of the directory it is in...even though I've included the expose_full_path: true directive.

It's just all so inconsistent.

I will say that SOMETIMES, out of the blue, it does work, but rarely.

I've tried all sorts of things like 777 permissions, linuxserver.io vs offical plex builds.

Just not sure why it can read the library just fine, and a manual library refresh will bring it the movies, but the partial refresh script causes Plex to error out in the logs, even though that is RIGHT path and it confirms it in the info details of the movie! Wtf- lol

Spent about a week trying to figure this out, any help would be appreciated.

  1. Is there a way to guarantee that the path ALWAYS passes the FOLDER not just file, and...
  2. Plex to properly recognize the path as EXISTING like it does on a manual refresh and also, it plays just fine.

THANK YOU!

Screenshots

folder_is_added plex_folder plex_folder_exists wrong_directory

Please complete the following information:

Additional context

Everything is on docker, Plex/PD_Zurg

I have added: expose_full_path: true ...to the zurg config.yml


Here is my full docker compose:

services: pd_zurg: container_name: pd_zurg image: iampuid0/pd_zurg:latest

Optionally, specify a specific version of pd_zurg

# image: iampuid0/pd_zurg:2.0.0
stdin_open: true # docker run -i
tty: true        # docker run -t    
volumes:
  ## Location of configuration files. If a Zurg config.yml and/or Zurg app is placed here, it will be used to override the default configuration and/or app used at startup. 
  - /DATA/AppData/pd_zurg/config:/config
  ## Location for logs
  - /DATA/AppData/pd_zurg/log:/log
  ## Location for rclone cache if enabled
  - /DATA/AppData/pd_zurg/cache:/cache
  ## Location for Zurg RealDebrid active configuration
  - /DATA/AppData/pd_zurg/RD:/zurg/RD
  ## Location for Zurg AllDebrid active configuration -- when supported by Zurg     
  - /DATA/AppData/pd_zurg/AD:/zurg/AD   
  ## Location for rclone mount to host
  - /DATA/AppData/pd_zurg/mnt:/data:shared       
environment:
  - TZ=Etc/UTC
  ## Zurg Required Settings
  - ZURG_ENABLED=true      
  - RD_API_KEY=*REDACTED*
  ## Zurg Optional Settings
 # - ZURG_LOG_LEVEL=DEBUG
 # - ZURG_VERSION=v0.9.2-hotfix.4
  - ZURG_UPDATE=true
  - PLEX_REFRESH=true
  - PLEX_MOUNT_DIR=/pd_zurg
 # - ZURG_USER=
 # - ZURG_PASS=
 # - ZURG_PORT=8800
  ## Rclone Required Settings
  - RCLONE_MOUNT_NAME=pd_zurg
  ## Rclone Optional Settings - See rclone docs for full list
 # - NFS_ENABLED=true
 # - NFS_PORT=8000
 # - RCLONE_LOG_LEVEL=DEBUG
 # - RCLONE_CACHE_DIR=/cache
  - RCLONE_DIR_CACHE_TIME=10s
  - RCLONE_VFS_CACHE_MODE=full
 # - RCLONE_VFS_CACHE_MAX_SIZE=100G
 # - RCLONE_ATTR_TIMEOUT=8700h
 # - RCLONE_BUFFER_SIZE=32M
 # - RCLONE_VFS_CACHE_MAX_AGE=4h
 # - RCLONE_VFS_READ_CHUNK_SIZE=32M
 # - RCLONE_VFS_READ_CHUNK_SIZE_LIMIT=1G
 # - RCLONE_TRANSFERS=8
  ## Plex Debrid Required Settings
  - PD_ENABLED=true
  ## To utilize plex_debrid with Plex, the following environment variables are required
  - PLEX_USER=roydufek
  - PLEX_TOKEN=*REDACTED*
  - PLEX_ADDRESS=http://172.25.40.5:32400
  ## To utilize plex_debrid with Jellyfin, the following environment variables are required - Note that plex_debrid will require addtional setup befor use with Jellyfin
 # - JF_ADDRESS
 # - JF_API_KEY
  ## Plex Debrid Optional Settings
  - PD_UPDATE=true   
  - SHOW_MENU=false
 # - SEERR_API_KEY=
 # - SEERR_ADDRESS=
  ## Special Features
 # - AUTO_UPDATE_INTERVAL=12
 # - DUPLICATE_CLEANUP=true
 # - CLEANUP_INTERVAL=1
 # - PDZURG_LOG_LEVEL=DEBUG
 # - PDZURG_LOG_COUNT=2
# Example to attach to gluetun vpn container if realdebrid blocks IP address 
# network_mode: container:gluetun  
restart: unless-stopped
devices:
  - /dev/fuse:/dev/fuse:rwm
cap_add:
  - SYS_ADMIN     
security_opt:
  - apparmor:unconfined    
  - no-new-privileges
networks:
  docknet:
    ipv4_address: 172.25.40.4

plex: container_name: plex hostname: ba5a6bd47403 environment:

I-am-PUID-0 commented 4 months ago

Can you look for and provide the log output for the on_library_update within the either the pd_zurg or zurg logs?

2024-02-07T07:41:07.787-0500    DEBUG   manager Output of hook on_library_update:
Starting Plex Update for __all__/Spongebob Squarepants (1999) S05 (1080p Webrip x265 10bit Mixed 2.0 - Frys) [TAoE]
Directory path /rclone/zurg/__all__ does not exist in Plex. Skipping __all__/Spongebob Squarepants (1999) S05 (1080p Webrip x265 10bit Mixed 2.0 - Frys) [TAoE].
Starting Plex Update for shows/Spongebob Squarepants (1999) S05 (1080p Webrip x265 10bit Mixed 2.0 - Frys) [TAoE]
Directory path /rclone/zurg/shows exists in Plex. Will process shows/Spongebob Squarepants (1999) S05 (1080p Webrip x265 10bit Mixed 2.0 - Frys) [TAoE].
Refreshed section ID 1 with path /rclone/zurg/shows/Spongebob Squarepants (1999) S05 (1080p Webrip x265 10bit Mixed 2.0 - Frys) [TAoE]
Refreshed section ID 2 with path /rclone/zurg/shows/Spongebob Squarepants (1999) S05 (1080p Webrip x265 10bit Mixed 2.0 - Frys) [TAoE]

The log should also have either:

Verification unsuccessful for /rclone/zurg/shows/Spongebob Squarepants (1999) S05 (1080p Webrip x265 10bit Mixed 2.0 - Frys) [TAoE]. Retrying (1/20)...

Or

Verification successful: /rclone/zurg/shows/Spongebob Squarepants (1999) S13 (1080p MIXED Webrip x265 10bit MIXED 2.0 - Frys) [TAoE] found in Plex library.
roydufek commented 4 months ago

So this is interesting...apparently Zurg is the one having the issue. See the princess bride below was successful, but yet ISS was not. It could find it in Plex but not the /data/pd_zurg folder...which is again, totally is in there clearly as Plex can see it...

Now that I realize what is going on, it is clear that Zurg is not able to properly parse...I'm guessing Debian's escape sequence of the slashes added for spaces... Princess bride has no spaces in the folder/file name structure.

Is this not an issue in say Ubuntu or something? I just like using Debian for its compatibility to my current hardware of this mini pc I am using and the support for CasaOS for managing it remotely for family in a headless environment. Is there a way for Zurg to support escapes in the directory paths?

iss-movie iss-notfound princess-bride

tymanbrew commented 4 months ago

I'm having similar issues. Everything is up and running perfectly except for the automated library scan.