Sign inSign up

unarr/cli

By unarr

•Updated 5 days ago

Self-hosted media manager, player & debrid agent — the unarr.app CLI. Bundles ffmpeg, multi-arch.

Image
0

10K+

unarr/cli repository overview

⁠unarr

Your self-hosted media agent in a single binary. Organize your library, stream and transcode to any device on your network, and connect your debrid account — all from one headless daemon with a web dashboard, WireGuard split-tunnel, and Cloudflare Funnel remote access.

Website & docs⁠ · Install guide⁠ · Get an API key⁠

Pairs with the unarr.app⁠ web app: rich metadata from TMDB, a 0–100 quality score per release, and one-tap play to your TV, phone, or browser.


⁠Quick start

⁠1. First-time setup (interactive wizard)
docker run -it --rm \
  -v ~/.config/unarr:/config \
  unarr/cli setup

The wizard asks for your unarr API key (free at unarr.app⁠, under Profile → API keys) and your media directory.

⁠2. Run the daemon
docker run -d --name unarr \
  --restart unless-stopped \
  --network host \
  -v ~/.config/unarr:/config \
  -v ~/Media:/downloads \
  -v unarr-data:/data \
  unarr/cli

That's it — unarr now runs headless, ready to stream and manage your library. --network host lets it reach your TV, phone, and Chromecast on the LAN.


⁠Docker Compose

services:
  unarr:
    image: unarr/cli:latest
    pull_policy: always
    container_name: unarr
    restart: unless-stopped
    network_mode: host        # recommended — reaches devices on your LAN
    environment:
      - TZ=UTC
      # - UNARR_API_KEY=your_key_here
    volumes:
      - ~/.config/unarr:/config
      - ~/Media:/downloads
      - unarr-data:/data

volumes:
  unarr-data:
docker compose run --rm unarr setup   # one-time wizard
docker compose up -d                   # start the daemon

⁠Volumes

PathPurpose
/configConfiguration file (config.toml)
/downloadsYour media library
/dataInternal state & cache

⁠Environment variables

VariableDescriptionDefault
UNARR_API_KEYunarr API keyfrom config
UNARR_API_URLAPI endpointhttps://unarr.app
UNARR_DOWNLOAD_DIRMedia directory/downloads
UNARR_CONFIG_DIRConfig directory/config
UNARR_COUNTRYCountry code (ISO 3166)US
TZTimezoneUTC

Any config value can be overridden by its matching UNARR_* environment variable.

⁠Networking

Host mode (recommended) — --network host / network_mode: host. Lets the agent reach your TV, phone, and Chromecast directly on the LAN for local streaming, with no port mapping.

Bridge mode — more isolated; map the agent's stream/control ports yourself:

ports:
  - "11818:11818"
  - "11819:11819"

⁠Hardware transcode

The image ships the NVIDIA runtime env, so GPU transcode works out of the box:

  • NVIDIA: add --gpus all
  • Intel QSV / VA-API: pass --device /dev/dri

⁠Running commands

Use docker exec for one-off commands while the daemon is running:

docker exec unarr unarr status
docker exec unarr unarr doctor      # diagnose config / connectivity

⁠Tags

TagDescription
latestLatest release
X.Y.ZExact version (e.g. 1.3.0-beta)
X.YLatest patch within a minor (e.g. 1.3)

Pin a tag in production (unarr/cli:1.3) for reproducible deploys.

⁠Supported architectures

Multi-arch image — Docker pulls the right one automatically:

  • linux/amd64
  • linux/arm64 (Apple Silicon, Raspberry Pi 4/5, ARM servers)

⁠Image details

  • User: unarr (UID 1000, GID 1000) — runs as non-root
  • Entrypoint: unarr start (daemon mode)
  • Bundled ffmpeg / ffprobe for transcode & inspection — nothing else to install
  • Signed releases — binaries are published as GitHub Releases⁠; checksums.txt is ed25519-signed and the self-updater verifies it before applying

⁠Other install methods

Not using Docker? Install the native binary instead:

# Linux / macOS
curl -fsSL https://unarr.app/install.sh | sh

# macOS (Homebrew)
brew install unarr-app/tap/unarr

# Windows (PowerShell)
irm https://unarr.app/install.ps1 | iex

# Go toolchain
go install github.com/Unarr-app/unarr-cli/cmd/unarr@latest

⁠License

MIT.

Tag summary

Content type

Image

Digest

sha256:05fcb0fe8…

Size

217.9 MB

Last updated

5 days ago

docker pull unarr/cli