3.9 KiB
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: a small poster thumbnail in the detail panes, drawn with colored quadrant
block characters (needs a terminal with colors; works over SSH). 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}. - 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 }
}
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.