Correct and extend folder docs for Docker Essentials, Watchdogs, Media and Arrs Stack
The docs had drifted from the scripts — a script that no longer exists, three wrong variable names, a reversed run order, and seven scheduled scripts that were never documented at all.
This commit is contained in:
+33
-7
@@ -86,10 +86,25 @@ MEDIA_FILE_PATTERNS=(
|
||||
### Play State Sync
|
||||
|
||||
```bash
|
||||
PLAY_STATE_SYNC_ENABLED=true # toggle entire sync
|
||||
PLAY_STATE_SYNC_LOOKBACK_DAYS=30 # history window for played items
|
||||
PLAY_SYNC_ENABLED=true # toggle entire sync
|
||||
PLAY_SYNC_REMOTE=true # sync across hosts via Tailscale
|
||||
# false = local servers only (this host's Emby + Jellyfin)
|
||||
PLAY_SYNC_TYPES="Movie,Episode" # item types to sync — Audio excluded, music library too large
|
||||
PLAY_SYNC_FAV_TYPES="MusicArtist,MusicAlbum,Movie,Series" # favourites, union sync, never unmarks
|
||||
|
||||
PLAY_SYNC_PROBE=true # skip per-item work when nothing changed since last run
|
||||
PLAY_SYNC_PROBE_MAX_AGE_HOURS=24 # force a full comparison when the fingerprint is older
|
||||
|
||||
PLAY_SYNC_HANDBACK_RETRIES=5 # fallback handback: attempts before DNS cutover proceeds
|
||||
PLAY_SYNC_HANDBACK_RETRY_DELAY=60 # seconds between those attempts
|
||||
```
|
||||
|
||||
> **There is no date/lookback filter, and one must not be re-added.** An earlier version
|
||||
> gated on played-date; it was removed once the real cost was measured — the 30-minute
|
||||
> runtime was fork overhead per item, not API volume or item count. The fix was jq epoch
|
||||
> parsing plus the response-hash probe below. Re-introducing a date window would reduce
|
||||
> correctness (older items silently stop syncing) without meaningfully reducing runtime.
|
||||
|
||||
Emby and Jellyfin servers configured per-host:
|
||||
|
||||
```bash
|
||||
@@ -194,13 +209,24 @@ Show every file examined, not just those removed.
|
||||
### play_state_sync.sh
|
||||
|
||||
`play_state_sync.sh`
|
||||
Sync played/unplayed state and resume positions from local Emby to the remote Emby.
|
||||
Only items played within PLAY_STATE_SYNC_LOOKBACK_DAYS are synced.
|
||||
Sync played/unplayed state, resume positions and favourites across **every** configured Emby
|
||||
and Jellyfin server — not just local→remote. Servers are discovered from every
|
||||
`HOST*_TRANSCODE_SERVERS` entry, with remote hosts' localhost URLs rewritten to their
|
||||
Tailscale IP. Newest `LastPlayedDate` wins; state only ever moves forward, never clears.
|
||||
|
||||
No age filter — every matched item is considered on every run. The **change probe** is what
|
||||
keeps that cheap: the raw API responses are hashed and compared against the fingerprint from
|
||||
the last successful run, and per-item processing is skipped entirely when nothing moved.
|
||||
Fetches still happen every run, so nothing can be missed by the probe.
|
||||
|
||||
`play_state_sync.sh --full`
|
||||
Ignore PLAY_STATE_SYNC_LOOKBACK_DAYS — sync all played items regardless of age. May be
|
||||
slow on large libraries. Use after a new Emby install or database restore to rebuild
|
||||
full play history.
|
||||
Bypass the change probe and force the full per-item comparison even when the fingerprint
|
||||
matches. Use after a new Emby install or database restore, or when debugging a sync that
|
||||
appears to be skipping work it should be doing.
|
||||
|
||||
`play_state_sync.sh --wait`
|
||||
Wait for an in-progress run instead of exiting. For manual runs that would otherwise be
|
||||
skipped by the scheduled every-30-minute pass. Used by `fallback.sh` during handback.
|
||||
|
||||
`play_state_sync.sh --dry-run`
|
||||
Show what would be synced without writing any state.
|
||||
|
||||
Reference in New Issue
Block a user