MediaShelf/.env.example
Jess Hallsworth 58c2883492
Ship nothing pre-kept
The keep_all capability stays at library level, but no library is marked by
default. KEEP_ALL_LIBRARIES defaults to empty rather than naming Family
Videos, and the design says plainly that every keep in the system got there
because a person put it there.

A keep the application invented would be indistinguishable in the database
from one the user made, which undermines the audit trail the Kept view
exists to provide.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GVbG48GAXfCZatcmX123Ra
2026-09-07 05:44:48 +00:00

50 lines
1.3 KiB
Text

# MediaShelf configuration — copy to .env and fill in.
# NEVER commit .env. PLEX_TOKEN is a secret.
MEDIASHELF_SECRET_KEY=change-me
LOG_LEVEL=INFO
TZ=America/Regina
# --- Plex connection ---
PLEX_BASE_URL=http://192.168.1.10:32400
PLEX_TOKEN=your-plex-token-here
PLEX_VERIFY_SSL=true
PLEX_TIMEOUT_S=30
PLEX_PAGE_SIZE=500
PLEX_REQUEST_DELAY_MS=0
# --- Tautulli (primary watch-history source) ---
# Leave TAUTULLI_BASE_URL empty to disable and fall back to Plex session history.
TAUTULLI_BASE_URL=http://192.168.1.100:8181
TAUTULLI_API_KEY=your-tautulli-api-key-here
TAUTULLI_TIMEOUT_S=30
TAUTULLI_PAGE_SIZE=1000
# auto | tautulli | plex
HISTORY_SOURCE=auto
SESSION_MERGE_WINDOW_H=6
COMPLETION_THRESHOLD=85
ABANDON_CEILING=15
# --- Storage ---
DATABASE_PATH=/data/mediashelf.db
# --- Scanning ---
SCAN_SCHEDULE_CRON=0 4 * * *
SCAN_FULL_SWEEP_CRON=0 3 * * 0
SCAN_ON_STARTUP=false
SCAN_LOCK_TIMEOUT_S=7200
# --- Reclaim score tuning ---
SCORE_STALE_HORIZON_DAYS=730
SCORE_AGE_HORIZON_DAYS=1095
SCORE_POPULAR_AT=3
SCORE_REJECTED_AT=2
SCORE_SOLITUDE_AT=3
SCORE_GRACE_DAYS=30
# Optional: libraries to mark keep_all on first run only (comma-separated).
# Empty by default — nothing is ever kept unless you say so, in here or in the UI.
# e.g. KEEP_ALL_LIBRARIES=Family Videos,4K Movies
KEEP_ALL_LIBRARIES=
SCORE_RECENT_DAYS=90