Managarr - A TUI and CLI to help you manage your Servarrs.
Thanks to everyone who contributed to this release, be that in code, issues, or enhancement suggestions! You all help fuel my passion for working on this and it doesn’t go unappreciated! 😄
As always, you can try out the changes yourself via the Managarr Demo Site
Breaking Changes
-
Managarr now supports multiple instances of the same Servarr with custom names and ordering. (See Features below) To accommodate this, configuration files must be updated so that all Servarrs listed beneath
radarr
,sonarr
, etc., be updated to be lists, not individual Servarrs. For example: to migrate from the following config:radarr: host: 192.168.0.78 port: 7878 api_token: someApiToken1234 sonarr: host: 192.168.0.89 port: 8989 api_token: someApiToken1234
You would change the above configuration to the following:
radarr: - host: 192.168.0.78 port: 7878 api_token: someApiToken1234 sonarr: - host: 192.168.0.89 port: 8989 api_token: someApiToken1234
-
The
--config
flag has been renamed to--config-file
to make it more clear what it does.
Features
-
Users can now specify multiple instances of the same type of Servarr and give them custom names and ordering. This allows users to manage multiple instances of the same Servarr, such as an Anime and TV Show instance of Sonarr. To configure, add a list of Servarrs under the respective type (e.g.
radarr
,sonarr
, etc.). (#17)- You can specify ordering of your Servarrs and how they will appear in the UI via the
weight
field. The lower the weight, the further to the left the Servarr will appear in the UI. - You can also name your Servarrs whatever you wish. This name will be displayed in the UI. For example, to name your Sonarr instances:
sonarr: - name: Anime host: 192.168.0.89 api_token: someApiToken - name: TV Shows host: 192.168.0.88 api_token: someOtherApiToken
- This change also required the introduction of a new CLI flag to specify which Servarr you wish to interact with:
--servarr-name
. This corresponds directly to the value of thename
field in your configuration. If you did not specify aname
in the configuration, then default names are provided for you corresponding to the Servarr; For example, if you defined two Radarr instances with no names, they will be namedRadarr 1
andRadarr 2
, respectively. - Omitting the
--servarr-name
flag with multi-instance configurations will default to using the first instance that appears in your config. For example, for the following configuration:
Runningsonarr: - host: 192.168.0.89 api_token: someApiToken - host: 192.168.0.88 api_token: someOtherApiToken
managarr sonarr list series
will default to interacting with the Sonarr instance at192.168.0.89
. This is the same as runningmanagarr sonarr list series --servarr-name 'Sonarr 1'
.
- You can specify ordering of your Servarrs and how they will appear in the UI via the
-
API tokens can now be fetched from files instead of needing to be hardcoded (#31). The following is an example config that loads the API token from a file:
radarr: - host: 192.168.0.78 api_token_file: /home/root/.config/radarr_token
-
Configurations now interpolate environment variables (#23). This allows you to load sensitive information from environment variables. For example, to load the API token from an environment variable, you can do the following:
radarr: - host: 192.168.0.78 api_token: ${MY_RADARR_API_TOKEN_ENV_VAR}
This is available for all fields in the configuration file.
Security Updates
- Updated OpenSSL to v0.10.70 to mitigate CVE-2025-24898
Miscellaneous
- Managarr now has a Matrix space! Feel free to drop in and message me directly if you’re looking to discuss features, ideas, or just want to say, “Hi!”.
Just a simple little nitpick:
On the Nix/NixOS section of install, you type
Alternatively, for non-NixOS users, you can spawn a temporary shell with Managarr available like so: nix-shell -p managarr
nix-shell -p managarr works just fine on NixOS proper. I use it all the time.
I get this when I click on the demo. Uh, I don’t know why.
… Well that’s… Concerning…😅
What browser are you using? I want to try to recreate it!
I think it’s hilarious people are now building tools to manage the tools that were managing other tools and use more tools to actually do the job they say they are doing. What a world.
Maybe these are noob questions, but what is a TUI? And is this filling the same niche as overseerr, or is this something different?
To answer your question, I built it for a few reasons:
- I wanted to learn Rust, so I used this project to do that
- I really love TUI’s and I pretty much live in my command line at work, and since I already automate everything I can to make my work life easier, I wanted to be able to do the same with my homelab
- I think it looks cool
- For fun. If no one else ever gets use out of it, that’s okay! I just really enjoyed building it and I’m excited to build out more of it.
But also: Why not? ☺️
So really, you would only use this if you like TUIs or want a command line tool for interacting with your Servarrs. If you have no use for it, that’s totally fine too!
The one actual use I’ve found people say they use it for is people who don’t want to expose the web interface to interact with their Servarrs and only interact via SSH. Then they like to use this instead.
Terminal user interface. Way back before we had GUIs, we had line drawing characters for text graphics.
Yeah, I used to use those, just never caught the abbreviation.
Text UI
Oh, i see, Thanks! Never heard that term before.