Additional files
This commit is contained in:
14
nginx/plex.conf
Normal file
14
nginx/plex.conf
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
listen [::]:80;
|
||||||
|
|
||||||
|
server_name plex.hostname.tld;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://plex:32400;
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
}
|
||||||
|
}
|
||||||
45
plex_update.sh
Executable file
45
plex_update.sh
Executable file
@@ -0,0 +1,45 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# PLEX PARTIAL SCAN script or PLEX UPDATE script
|
||||||
|
# When zurg detects changes, it can trigger this script IF your config.yml contains
|
||||||
|
# on_library_update: sh plex_update.sh "$@"
|
||||||
|
|
||||||
|
# this uses python3
|
||||||
|
# docker compose exec zurg apk add python3
|
||||||
|
# sudo apt install python3
|
||||||
|
|
||||||
|
plex_url="http://plex:32400" # If you're using zurg inside a Docker container, by default it is 172.17.0.1:32400
|
||||||
|
token="yourplextoken" # open Plex in a browser, open dev console and copy-paste this: window.localStorage.getItem("myPlexAccessToken")
|
||||||
|
zurg_mount="/mnt/zurg" # replace with your zurg mount path, ensure this is what Plex sees
|
||||||
|
|
||||||
|
# Get the list of section IDs
|
||||||
|
section_ids=$(curl -sLX GET "$plex_url/library/sections" -H "X-Plex-Token: $token" | xmllint --xpath "//Directory/@key" - | sed 's/key="//g' | tr '"' '\n')
|
||||||
|
|
||||||
|
for arg in "$@"
|
||||||
|
do
|
||||||
|
modified_arg="$zurg_mount/$arg"
|
||||||
|
echo "Detected update on: $arg"
|
||||||
|
echo "Absolute path: $modified_arg"
|
||||||
|
|
||||||
|
encoded_arg=$(echo -n "$modified_arg" | python3 -c "import sys, urllib.parse as ul; print (ul.quote_plus(sys.stdin.read()))")
|
||||||
|
|
||||||
|
if [ -z "$encoded_arg" ]; then
|
||||||
|
echo "Error: Encoded argument is empty. Check the input or encoding process."
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
for section_id in $section_ids
|
||||||
|
do
|
||||||
|
final_url="${plex_url}/library/sections/${section_id}/refresh?path=${encoded_arg}&X-Plex-Token=${token}"
|
||||||
|
|
||||||
|
echo "Encoded argument: $encoded_arg"
|
||||||
|
echo "Section ID: $section_id"
|
||||||
|
echo "Final URL: $final_url"
|
||||||
|
|
||||||
|
curl -s "$final_url"
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "All updated sections refreshed"
|
||||||
|
|
||||||
|
# credits to godver3
|
||||||
Reference in New Issue
Block a user