Media-downloads stack tidy: killed a crash-looping orphan, saved a host-side compose copy
Why: After the pipeline rewiring and config backups, Damien wanted the stack's compose file itself to be current and safe to redeploy — "if anything's out of date there, fix it."
Pulled the actually-deployed compose out of Portainer and diffed it against reality. Good news: the live v7 definition (sonarr, radarr, prowlarr, rdtclient, rdtclient-movies, flaresolverr) matched the running stack and would redeploy cleanly. The only real drift was a leftover service, plus a couple of cosmetic staleness issues.
1. Removed the bitmagnet orphan
bitmagnet was running from an older revision of the stack (v6) and is absent from the current v7. It needed a bitmagnet-postgres sidecar that no longer exists, so it had been crash-looping 594 times against a DNS lookup that always failed, and it isn't wired into Prowlarr as an indexer. We decided to drop it for good.
- Action:
docker rm -f bitmagnet— it was an orphan not referenced byv7, so no stack redeploy was needed and no other service was touched. No leftover volumes.
2. Saved a host-side canonical copy of the stack
The only copy of this stack's compose lived inside the Portainer data volume (portainer:/data/compose/46/<rev>/docker-compose.yml) — lose that volume and the definition goes with it. Wrote a maintained copy to /home/plex/docs/media-downloads-stack.yml with a provenance header explaining how it relates to Portainer and how to apply it (paste into the stack editor → Update; tick "Re-pull image" only when you actually want newer builds).
- Two behaviour-preserving modernisations vs the deployed
v7: dropped the obsoleteversion:top-level key (Compose v2 ignores it and warns), and normalised rdtclient-movies' download bind to the short volume form so it matches rdtclient. Validated withdocker compose config— parses clean, no warnings, six services. - Left images on
:lateston purpose: Damien's update workflow is "see the app's update notice, glance at the changelog, redeploy." Pinning would force a version-string lookup on every update for little benefit at his cadence;:latest+ a re-pull-on-redeploy fits how he actually works.
Net effect: the stack is down to its six real services, the dead bitmagnet retry-loop is gone, and the compose definition now exists as a maintained host-side file instead of only inside Portainer's volume.
← Back to Admin Hub