Troubleshooting
Auto-discover can't find the Fetch box
- The container has to run with host networking (the example compose already does this). Fetcharr finds the box by listening for the announcement it broadcasts on your network (a protocol called SSDP), and those broadcasts don't reach across Docker's own private network, so the container has to share the host's network to hear them.
- The host has to be on the same part of the network as the box; those broadcasts don't cross between subnets without extra setup.
- You can always enter the box's IP and port manually in Settings instead.
Plex token auto-detect fails
- It needs Plex's
Preferences.xmlbind-mounted into the container (PLEX_PREFS_PATH), which only works when Plex runs on the same host. - Paste the token manually instead; grab it from
app.plex.tv(or Plex's own support article on finding your token). See Plex.
An episode was skipped with "currently recording"
- That's deliberate: Fetch reports the wrong file size while a recording is still going, so Fetcharr refuses to download it rather than save an incomplete file. It syncs on the next run after the recording finishes.
A recording shows partial
- The download came up short of the size Fetch reported. The next sync picks up from where it stopped (using HTTP range requests), so a
partialnormally sorts itself out.
Delete-from-Fetch fails
Symptoms: "No I_AM_ALIVE reply" or "Timed out waiting for I_AM_ALIVE handshake".
- The reply comes from your Fetch box via Fetch's cloud, and a box whose cloud session has dozed off misses the ping even though it works fine on the LAN. Fetcharr pings twice (20 s) before giving up, and the first attempt usually wakes the box's session, so just retry the delete after a moment.
- If it keeps failing, open the official Fetch mobile app: if the app can't see the box either, the box↔cloud link is down; restarting the box resets it. See Delete from Fetch and the deep dive.
Other containers can't reach Fetcharr by name
- A side-effect of host networking: Fetcharr isn't on any Docker bridge network. Reach it via the host's LAN IP and
FETCHARR_PORTinstead.
Ad detection is cutting the wrong things (or missing breaks)
- Ad detection is educated guessing, never perfect. Comskip's accuracy on Australian free-to-air varies a lot by channel (logo detection, silence thresholds, and break lengths all differ).
- Run the show in
DETECTmode first and check the break counts and minutes it reports on the Recordings tab before switching toCUT. Scans work the CPU hard: budget ~30 minutes per 75-minute recording on a home NAS. - Cuts land on the nearest keyframe, so a second or two either side of a break is normal.
- To tune detection, place your own
comskip.iniin the/configbind mount; it overrides the bundled Australian-tuned default. Every cut keeps a<file>.ts.origbackup for the retention window, so if a cut goes wrong you can rename the.origback to recover it. See Ad removal.
Timestamps show the wrong time
- Set
TZin your.envto your IANA timezone; the UI shows every timestamp in the container's zone, whatever device you're browsing from.
Permission errors writing to /config or /media/tv
- Set
PUID/PGIDto match the owner of the bind-mounted host folders.