1
Configuration
Xena Rathon edited this page 2026-06-28 19:10:43 -04:00
Configuration
How settings resolve (layering)
Every setting is read in this order — first hit wins:
- environment variable (ideal for Docker)
settings.json(what the GUI reads & writes)config.py(classic manual setup — copyconfig.py.example)- built-in default
So the GUI, CLI, and Docker share one source of truth and never drift.
Settings reference
| Setting | Default | What it does |
|---|---|---|
PLEX_URL |
http://localhost:32400 |
Your Plex address |
PLEX_TOKEN |
— | X-Plex-Token |
DTDD_API_KEY |
— | DoesTheDogDie API key |
PLEX_LIBRARY_TYPES |
["movies"] |
"movies", "tv_shows" |
PLEX_LIBRARIES |
["Movies"] |
Named libraries (filtered by type); empty/None = all matching |
TV_WARNING_LEVELS |
["series","season","episode"] |
Which TV levels to write. Drop "episode" for far fewer API calls |
MIN_YES_VOTES |
5 |
Min "yes" votes to include a warning |
MIN_YES_RATIO |
0.7 |
Min yes/(yes+no) ratio |
SHOW_SAFE_TOPICS |
False |
Also list the ✅ "safe" topics |
INCLUDE_TOPICS |
None |
Only show these topics (overrides exclude) |
EXCLUDE_TOPICS |
None |
Hide these topics |
WARNING_LAYOUT |
inline |
inline, lines, or categorized |
USE_CATEGORY_ICONS |
True |
Emoji per category in the categorized layout |
SHOW_TIMESTAMPS |
True |
Append the first scene time (needs subscriber timecodes) |
SHOW_CUES |
False |
Show skip range (start → safe) instead of just the time |
SEPARATOR / WARN_PREFIX / SAFE_PREFIX / TOPIC_DELIMITER |
— | How the block looks |
LANGUAGE |
None |
Translate topic names (es, fr, de, ja, …) |
API_DELAY |
1.0 |
Seconds between DTDD calls |
CACHE_TTL |
604800 |
Cache lifetime (7 days) |
DRY_RUN |
False |
Preview without writing |
Topic filtering
INCLUDE_TOPICS / EXCLUDE_TOPICS use the plain-English topic names from DTDD (case-insensitive). List every name with python plex_warnings.py --list-topics, or browse them in the GUI's Topics tab. If both are set, include wins.
# config.py
INCLUDE_TOPICS = ["a dog dies", "a cat dies", "someone is sexually assaulted"]
EXCLUDE_TOPICS = ["there is copaganda"]
Environment variables (Docker)
Every setting above is also an env var of the same name. Lists are comma-separated:
PLEX_LIBRARY_TYPES=movies,tv_shows
INCLUDE_TOPICS=a dog dies,a cat dies
SCHEDULE=86400 # scheduled CLI image only: seconds between re-runs