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 InfoView 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).

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=/data holds settings.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.