Skip to content

v2.0.0

Choose a tag to compare

@Mahcks Mahcks released this 12 Sep 21:23
275b085

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.0

Open 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.

  1. Stop Blockbusterr, record its current image, and back up the complete configuration/database mount together to a separate location.
  2. Update the image to ghcr.io/mahcks/blockbusterr:v2.0.0; keep the existing mounts and set BLOCKBUSTERR_DRY_RUN=true before the first start.
  3. Leave the container user unset so the entrypoint can repair v1 ownership, then run as UID/GID 10001:10001.
  4. Review migrated Jobs, Rules, title exceptions, and integration settings. Preview enabled jobs before allowing delivery.
  5. 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.