Files
arr-tui/README.md
T

4.3 KiB
Raw Blame History

arr-tui

A terminal UI to search for movies and series with Radarr and Sonarr, pick releases by hand, and follow the downloads in SABnzbd.

  • Movies / Series: search as you type, add titles with a quality profile and root folder, optionally start the automatic search.
  • Interactive search: list the releases Radarr/Sonarr find (approved or rejected, with reasons), sort and filter them (by approval, quality, x265 / x264 / AV1, HDR, Dolby Vision, audio format, language), and grab one. Series: pick a season or a single episode first.
  • Posters: the detail panes show the poster at the top right, with title and facts to its left and the plot below. It is drawn with colored block characters (works over SSH, needs a terminal with colors). Library items use the copy stored in Radarr/Sonarr; search results are downloaded from the metadata provider's image host (TMDb, TheTVDB). Turn it off with "ui": {"covers": false}. "ui": {"cover_style": ...} picks the characters: quadrant (2x2 pixels per cell, every font has them), sextant (2x3, sharper, needs a font with the Symbols for Legacy Computing block, e.g. kitty, WezTerm, foot, Ghostty) or auto (default: sextant on terminals known to support it, quadrant elsewhere). If you see boxes or question marks in the poster, set quadrant.
  • Library: browse movies (top) and series (below) with a details pane on the right, filter by status (missing / downloaded / monitored) and by file properties (quality, x265 / x264 / AV1, HDR, Dolby Vision, audio format, language), toggle monitoring, trigger searches. Series open into seasons and episodes with per-season and per-episode monitoring, automatic search and release search.
  • Downloads: SABnzbd queue and history plus the Radarr/Sonarr queues. Pause/resume, delete, retry failed downloads, remove from the arr queue and blocklist.
  • Log (F5): actions report through popups that fade away; the log keeps the history.
  • Connection indicators for all three services in the top right; ? shows every key.

Requires Radarr/Sonarr v3+ API (Radarr 5/6, Sonarr 4) and SABnzbd 4+. Only Usenet releases are shown for grabbing, torrents are hidden.

Install

go install git.stinnesbeck.com/nils/arr-tui/cmd/arr-tui@latest

or build from a checkout (make build), or make dist for cross-compiled binaries in dist/.

Configure

Copy config.example.json to $XDG_CONFIG_HOME/arr-tui/config.json (usually ~/.config/arr-tui/config.json), or pass --config path. API keys are in each app under Settings → General.

{
  "radarr":  { "url": "http://localhost:7878", "apikey": "...", "default_quality_profile": "HD-1080p", "default_root_folder": "/movies" },
  "sonarr":  { "url": "http://localhost:8989", "apikey": "...", "default_quality_profile": "HD-1080p", "default_root_folder": "/tv" },
  "sabnzbd": { "url": "http://localhost:8080", "apikey": "..." },
  "ui":      { "refresh_seconds": 3, "covers": true, "cover_style": "auto" }
}

default_* are optional preselections in the add dialog. URL and key can also come from the environment: ARR_TUI_{RADARR,SONARR,SABNZBD}_{URL,APIKEY}, which takes precedence over the file. Keep the file private (chmod 600); it holds your API keys.

Keys

Key Action
F1–F5 switch view (Movies, Series, Library, Downloads, Log)
Tab, Shift+Tab switch panel within a view
? / F9 help
/ focus search box
Enter, a add selected title
i interactive release search
Tab, f, F, /, t, s, i/Enter, r (library) movies/series list, status filter, file-property filter, text filter, monitor, search, releases/episodes, reload
Enter, i, s, t (episodes) expand season / releases, release search, search, monitor
Enter/g, s, f, F (release list) grab, cycle sort, hide rejected, filter by properties
p, d, t, b, r (downloads) pause, delete, retry, blocklist, refresh
Esc back / close dialog
q, Ctrl+C quit

Development

dev/ has a compose file with pinned Radarr, Sonarr and SABnzbd containers plus a fake indexer; see dev/README.md. make test runs vet and the unit tests. The design and milestone history are in SPECS.md.

License

MIT, see LICENSE.