1
Installation
Xena Rathon edited this page 2026-06-28 19:10:43 -04:00
Installation
Prerequisites
- A Plex server + its X-Plex-Token
- A free DoesTheDogDie.com account + API key
- For the CLI or running from source: Python 3.8+
Get your credentials
Plex token — in Plex web, play any title → ⋮ → Get Info → View XML, and copy the X-Plex-Token value from the URL. (Plex guide)
DoesTheDogDie API key — sign up at doesthedogdie.com, open your profile, copy the API key. A paid subscription additionally unlocks scene timecodes (see Using the GUI).
Option A — The app (GUI), recommended
pip install -r requirements.txt -r requirements-gui.txt
python gui.py # desktop window (no port to manage)
python gui.py --web # web app on DTDD_GUI_PORT (default 8550)
Open it, fill in the Setup tab (it explains where each key comes from), hit Test. Then see Using the GUI.
Option B — Command line (no Docker)
python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt
cp config.py.example config.py # then edit it with your keys
python plex_warnings.py --dry-run
See Configuration and Using the CLI.
Option C — Docker, scheduled CLI
The original "movies on a schedule" mode (Dockerfile + docker-compose.yml):
docker compose run --rm doesthedogwatchplex --dry-run # preview
docker compose up -d # re-scan every 24h
Configure via env in docker-compose.yml — see Configuration.
Option D — Docker web GUI (stack service)
docker build -f Dockerfile.gui -t dtdd-gui .
docker run -d -p 8550:8550 -v dtdd-data:/data \
-e PLEX_URL=http://YOUR_PLEX_IP:32400 -e PLEX_TOKEN=xxx -e DTDD_API_KEY=xxx \
dtdd-gui
DTDD_DATA_DIR=/dataholdssettings.json+ the API cache — mount a volume to persist them.- Env vars seed the connection on first boot; everything else is set in the UI.
- Put it behind a reverse proxy / SSO if you expose it — it holds your Plex token and writes to Plex.