v2.0.0
v2.0.0
Blockbusterr discovers movies and shows, evaluates them against your rules, and sends selected titles to Radarr, Sonarr, Jellyseerr, or Seerr. Version 2 adds more control over what reaches your library and clearer explanations of each decision.
What changed since v1
- Reusable Rules: share movie/show policies across jobs, create job-specific copies, and manage universal title exceptions separately.
- Preview-first Jobs: inspect candidates before delivery, start from disabled recipes, and choose discovery sources per job.
- Lists and watchlists: use supported TMDB, Trakt, and MDBList sources. Direct public Letterboxd scraping remains experimental and opt-in.
- Delivery controls: per-job and rolling global budgets, repeat handling, instance-wide dry-run, and ranked selection across participating jobs.
- Activity Entries and Job Runs: inspect title decisions, scores, reasons, and delivery outcomes.
- Configuration portability: export shareable automation separately from credentialed backups, and migrate supported v1 jobs and rules automatically.
Blockbusterr remains MIT-licensed and runs in one container with SQLite. One configured discovery provider is enough; Trakt is optional. It works with your existing media stack and does not download or play media itself.
Install
docker run -d \
--name blockbusterr \
--restart unless-stopped \
-p 9090:9090 \
-v blockbusterr-data:/app/data \
ghcr.io/mahcks/blockbusterr:v2.0.0Open http://localhost:9090, connect a discovery provider and delivery target, and preview your first job. Keep the service on a trusted network or behind an authenticated proxy/VPN. Optional owner authentication uses BLOCKBUSTERR_AUTH_TOKEN (at least 32 characters), with username blockbusterr.
Upgrade from v1
The stable latest image moves from v1 to v2 with this release. Pin a version if you want to control when major upgrades happen.
- Stop Blockbusterr, record its current image, and back up the complete configuration/database mount together to a separate location.
- Update the image to
ghcr.io/mahcks/blockbusterr:v2.0.0; keep the existing mounts and setBLOCKBUSTERR_DRY_RUN=truebefore the first start. - Leave the container user unset so the entrypoint can repair v1 ownership, then run as UID/GID
10001:10001. - Review migrated Jobs, Rules, title exceptions, and integration settings. Preview enabled jobs before allowing delivery.
- Remove dry-run only when ready. Duration schedules can run at startup; cron schedules wait for their next occurrence.
For rollback, stop v2 and restore the complete stopped v1 snapshot into an empty mount with the previous image. Do not reuse v2-written files with v1.
Reliability notes
Release qualification covers configuration recovery, interrupted requests, concurrent budget reservations, provider failures, and preview/execution consistency. A delivery timeout can still mean the downstream service accepted the title: inspect that service before retrying. Uncertain requests retain their budget reservation to avoid spending the same slot twice; rolling reservations age out with the configured window. This is not an exactly-once delivery guarantee.