5 Commits

Author SHA1 Message Date
Bel LaPointe
a1adf97bfb no dry 2025-09-25 15:56:10 -04:00
Bel LaPointe
8dea290dd1 nosqueaky 2025-09-25 15:00:14 -04:00
Bel LaPointe
90358f0176 allowlist 2025-09-25 14:55:50 -04:00
Bel LaPointe
96239d6704 runs 2025-09-25 14:55:11 -04:00
Bel LaPointe
e8e6d6469f at least it bombs now 2025-09-25 14:40:30 -04:00
4 changed files with 27 additions and 13 deletions

29
.env
View File

@@ -1,16 +1,17 @@
# Global Settings # Global Settings
## Do not mark any shows/movies as played and instead just output to log if they would of been marked. ## Do not mark any shows/movies as played and instead just output to log if they would of been marked.
DRYRUN = "True" DRYRUN = "False"
## Debugging level, "info" is default, "debug" is more verbose ## Debugging level, "info" is default, "debug" is more verbose
DEBUG_LEVEL = "DEBUG" #DEBUG_LEVEL = "DEBUG"
DEBUG_LEVEL = "INFO"
## If set to true then the script will only run once and then exit ## If set to true then the script will only run once and then exit
RUN_ONLY_ONCE = "True" RUN_ONLY_ONCE = "True"
## How often to run the script in seconds ## How often to run the script in seconds
SLEEP_DURATION = "3600" SLEEP_DURATION = "60"
## Log file where all output will be written to ## Log file where all output will be written to
LOG_FILE = "/mnt/log.log" LOG_FILE = "/mnt/log.log"
@@ -29,26 +30,27 @@ MAX_THREADS = 1
## If media servers are using the same files then you can enable only generate locations ## If media servers are using the same files then you can enable only generate locations
## If media servers are using different files then you can enable only generate guids ## If media servers are using different files then you can enable only generate guids
## Default is to generate both ## Default is to generate both
GENERATE_GUIDS = "False" GENERATE_GUIDS = "True"
GENERATE_LOCATIONS = "True" GENERATE_LOCATIONS = "True"
## Map usernames between servers in the event that they are different, order does not matter ## Map usernames between servers in the event that they are different, order does not matter
## Comma separated for multiple options ## Comma separated for multiple options
# jellyfin: plex,plex # jellyfin: plex,plex
USER_MAPPING = { "belandbroc": "debila,belan49" } #USER_MAPPING = { "belandbroc": "debila,belan49", "debila,belan49": "belandbroc", "debila": "belandbroc", "belan49": "belandbroc" }
USER_MAPPING = { "belandbroc":"debila", "debila":"belandbroc", "debila":"belandbroc" }
## Map libraries between servers in the event that they are different, order does not matter ## Map libraries between servers in the event that they are different, order does not matter
## Comma separated for multiple options ## Comma separated for multiple options
LIBRARY_MAPPING = { "TV Shows": "Scratch TV Shows" } LIBRARY_MAPPING = { "TV Shows": "Scratch TV Shows", "Scratch TV Shows": "TV Shows" }
## Blacklisting/Whitelisting libraries, library types such as Movies/TV Shows, and users. Mappings apply so if the mapping for the user or library exist then both will be excluded. ## Blacklisting/Whitelisting libraries, library types such as Movies/TV Shows, and users. Mappings apply so if the mapping for the user or library exist then both will be excluded.
## Comma separated for multiple options ## Comma separated for multiple options
#BLACKLIST_LIBRARY = "" #BLACKLIST_LIBRARY = ""
#WHITELIST_LIBRARY = "" WHITELIST_LIBRARY = "TV Shows,Scratch TV Shows,Movies"
#BLACKLIST_LIBRARY_TYPE = "" #BLACKLIST_LIBRARY_TYPE = ""
#WHITELIST_LIBRARY_TYPE = "" #WHITELIST_LIBRARY_TYPE = ""
#BLACKLIST_USERS = "" #BLACKLIST_USERS = ""
#WHITELIST_USERS = "" WHITELIST_USERS = "belandbroc,debila"
# Plex # Plex
@@ -60,13 +62,16 @@ PLEX_BASEURL = "http://192.168.0.86:32400"
## Plex token https://support.plex.tv/articles/204059436-finding-an-authentication-token-x-plex-token/ ## Plex token https://support.plex.tv/articles/204059436-finding-an-authentication-token-x-plex-token/
## Comma separated list for multiple servers ## Comma separated list for multiple servers
PLEX_TOKEN = "vPGyuy6zWVCz6ZFyy8x1" # debila=debilapointe@gmail # PLEX_TOKEN = "vPGyuy6zWVCz6ZFyy8x1"
# # debila=debilapointe@gmail
PLEX_TOKEN = "S7gbVzAzH4ypN-4K7ta5"
# me
## If not using plex token then use username and password of the server admin along with the servername ## If not using plex token then use username and password of the server admin along with the servername
## Comma separated for multiple options ## Comma separated for multiple options
#PLEX_USERNAME = "PlexUser, PlexUser2" #PLEX_USERNAME = "squeaky2x3@gmail.com"
#PLEX_PASSWORD = "SuperSecret, SuperSecret2" #PLEX_PASSWORD = "qoDuGNsGsWRurOd5QFdRy2@"
#PLEX_SERVERNAME = "Plex Server1, Plex Server2" #PLEX_SERVERNAME = "Scratch"
## Skip hostname validation for ssl certificates. ## Skip hostname validation for ssl certificates.
## Set to True if running into ssl certificate errors ## Set to True if running into ssl certificate errors

0
entrypoint.sh Normal file → Executable file
View File

9
run.sh
View File

@@ -1,3 +1,10 @@
#! /usr/bin/env bash #! /usr/bin/env bash
docker run --rm -it -v "$PWD/.env:/app/.env" luigi311/jellyplex-watched:latest d=/tmp/jellyplex.d
mkdir -p $d
docker run --rm -it -v "$d":/mnt $(
if [ "${PWD##*/}" == JellyPlex-Watched ]; then
echo "-v $PWD/src:/app/src"
fi
) -v $PWD/.env:/app/.env \
luigi311/jellyplex-watched:latest

View File

@@ -56,6 +56,7 @@ def generate_server_connections(env) -> list[Plex | Jellyfin | Emby]:
plex_servername_str: str | None = get_env_value(env, "PLEX_SERVERNAME", None) plex_servername_str: str | None = get_env_value(env, "PLEX_SERVERNAME", None)
ssl_bypass = str_to_bool(get_env_value(env, "SSL_BYPASS", "False")) ssl_bypass = str_to_bool(get_env_value(env, "SSL_BYPASS", "False"))
print(f"if plex_baseurl_str={plex_baseurl_str} and plex_token_str={plex_token_str}")
if plex_baseurl_str and plex_token_str: if plex_baseurl_str and plex_token_str:
plex_baseurl = plex_baseurl_str.split(",") plex_baseurl = plex_baseurl_str.split(",")
plex_token = plex_token_str.split(",") plex_token = plex_token_str.split(",")
@@ -66,6 +67,7 @@ def generate_server_connections(env) -> list[Plex | Jellyfin | Emby]:
) )
for i, url in enumerate(plex_baseurl): for i, url in enumerate(plex_baseurl):
print(f"Plex({url.strip()}, {plex_token[i].strip()})")
server = Plex( server = Plex(
env, env,
base_url=url.strip(), base_url=url.strip(),