Unpackerr

MIT
Platform
Docker Linux Windows macOS Self-hosted
Licence
MIT Open source
Unpackerr

Overview

Unpackerr is a small Go daemon that fixes one specific, very annoying failure in a media stack: a download finishes, but the payload is a RAR, 7-Zip or tar archive, so Sonarr, Radarr, Lidarr or Readarr never sees a video or audio file to import. The item sits in the activity queue, the download client reports it complete, and the library never gets the episode. Unpackerr watches the download queue, extracts the archives as soon as a download finishes, and leaves an importable release behind.

It runs as a single static binary on a download host, a seedbox or in Docker next to the queue, and needs no database — configuration is one TOML file or a set of UN_* environment variables. Since version 1.0 it also ships a browser interface on port 5656 for watching the extract queue, reading history and logs, and editing the Starr, folder and hook settings without hand-editing the config file. It is released under the MIT licence and is written and maintained by Go Lift.

Key Features

  • Starr integration: connects to Sonarr, Radarr, Lidarr and Readarr with an API key, polls their queues, and extracts only downloads that are finished, so half-written files are never touched.
  • Wide archive support: tar, rar, zip, 7-Zip, gzip, tarred gzip and bzip2, password-protected rars and 7-Zips, plus ISO and UDF disc images.
  • Recursive extraction: pulls archives out of folders and archives out of archives, so a release that nests its payload two levels deep still ends up importable.
  • Standalone watch folders: no Starr app required — point it at a download folder and it extracts whatever lands there, which also suits a plain torrent client.
  • Retry and cleanup handling: configurable start delay, retry delay and retry count, optional deletion of the original archives after extraction, and a delete delay so a torrent can keep seeding.
  • Hooks: webhooks, command hooks and custom payloads fire on extract start, success and failure, so the outcome can go to ntfy, Discord or a shell script.
  • Browser UI (v1.0+): live queue with per-item progress, speed and ETA, plus history, the application log and a settings form with a Test button for each Starr, hook and folder — in English, Spanish, Greek and Dutch.
  • Small footprint: a single Go binary with no runtime dependencies; FreeBSD, Linux, macOS, Windows and Docker builds are published for every release.

Typical Uses

  • Automating an *arr stack where releases arrive as multi-part RARs and the import silently fails.
  • Extracting everything a seedbox downloads without installing anything on it beyond the daemon.
  • Replacing manual unrar-then-rename work on a NAS or home server.
  • Splitting FLAC and APE albums that arrive as one file with a cue sheet, converting APE to FLAC on the way if wanted.
  • Feeding a media server from qBittorrent, Deluge or Transmission downloads that would otherwise need a manual step.

Getting Started

Docker is the shortest path: mount the config directory and the same downloads path the download client uses, publish port 5656 if the web UI is wanted, and add one [[sonarr]], [[radarr]], [[lidarr]] or [[readarr]] block with the app’s URL, API key and the paths to watch. Releases and .deb/.rpm packages are published on GitHub, and the same releases page carries FreeBSD, macOS and Windows builds; the daemon is also packaged for unRAID, TrueNAS SCALE and Arch Linux. On first start the log prints a temporary UI password for the admin user, after which the UI writes the config file for you — environment variables still win over anything set in the form.

Explore More Categories

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.