Files
arr-tui/README.md
T
2026-10-20 22:36:19 +02:00

5.2 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; title, facts, path and plot flow along its left side and continue at full width below it. 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, remove titles (the files stay on disk unless you tick "Delete files"). 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.
  • Download notifications: a popup (and a log entry) when a SABnzbd download finishes or fails, whichever view is open. SABnzbd's history is checked every 15 seconds; downloads that finished before arr-tui started are not announced. "ui": {"notify_downloads": false} turns it off, "bell": true also rings the terminal bell.
  • 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", "notify_downloads": true, "bell": false }
}

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, d, i/Enter, r (library) movies/series list, status filter, file-property filter, text filter, monitor, search, remove, 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.

Releases: tag and push, then scripts/release.sh (or make release) builds the binaries and publishes them on Gitea with the matching CHANGELOG.md section. It needs an access token with write access to the repository in $GITEA_TOKEN or ~/.config/arr-tui-release-token; --check verifies everything without publishing, --dry-run builds without publishing.

License

MIT, see LICENSE.