Skip to content

Version 1.19

Pin Recyclarr to tag 8 since latest is no longer available: https://github.com/recyclarr/recyclarr/commit/c9dd238fe78e3fb3c4cc6649e304e6e488653092

Bug-fix release focused on version checking and upgrade safety.

  • Upgrading from a release older than v1.9.1 no longer crashes: 2-part versions (e.g. 1.9) in the on-disk .hmsd-version file are normalized before comparison, and empty or corrupt files fall back to 0.0.0.
  • The version file is now written at the end of the run, so a failed run re-prompts on the next attempt.
  • Answering no at the upgrade prompt now aborts immediately instead of after the remaining migration prompts.
  • If you set a renamed variable’s new name while the deprecated old name is still present in your inventory, your new value is now used (previously the stale old value silently won). A deprecation warning tells you which name to remove.
  • hmsdocker_library_path can now be overridden from inventory/group_vars/all/hmsd_advanced.yml.
  • New cloudflare_ddns_zone variable: set it in inventory/group_vars/all/cloudflare.yml if your domain uses a multi-label public suffix (e.g. example.co.uk), which the automatic zone detection derives incorrectly.
  • The VPN IP check now fails closed: if the public IP lookup or the in-container IP check fails, the download client is stopped instead of being reported as protected — and the check no longer errors mid-run when the lookup fails.
  • Transmission’s VPN config directory is no longer created when Transmission is disabled.
  • The Nvidia GPU role now adds the nvidia-container-toolkit apt repo via deb822_repository instead of the deprecated apt_key/apt_repository modules (removed in ansible-core 2.25), and cleans up the legacy .list and .gpg files on existing installs.
  • Authentik GeoIP settings are written to the .env file in valid KEY=value syntax.
  • App API key detection no longer breaks when a config value contains quotes.
  • 4K instance init scripts (arr-scripts) now check the 4K app directory instead of the base one.
  • Release automation: pushes that touch hms-docker.yml without a version bump no longer attempt a duplicate release.

Added Byparr, a drop-in FlareSolverr replacement built on Camoufox. Enable it with byparr.enabled: true in inventory/group_vars/all/container_map.yml.

When enabled alongside Prowlarr, the playbook automatically registers it as a HMSD - Byparr indexer proxy (Prowlarr’s FlareSolverr implementation, pointed at http://byparr:8191/) and creates the matching hmsd-byparr tag — apply that tag to any indexer that needs anti-bot solving.

Byparr and FlareSolverr can run at the same time; Byparr’s host port is 8192 (container port 8191) to avoid colliding with FlareSolverr.

If you run HMS-Docker inside a Proxmox OCI container or another LXC-based setup and Byparr reports a FileNotFoundError from multiprocessing.synchronize, add shm_size: 512mb to the byparr service via docker-compose.override.yml — see Byparr’s Docker troubleshooting notes.

Claude Code Skills added to easily add new containers

Increase Sabnzbd healthcheck timeout (from 10s to 30s)

Small doc updates