managarr

repository·main·Indexed 20 days ago

https://github.com/dark-alex-17/managarr

A TUI and CLI tool written in Rust for managing Servarr applications, including Radarr, Sonarr, and Lidarr. It provides capabilities to view libraries, manage downloads, trigger searches, and edit indexers. The CLI supports JSON output for automation with tools like jq and can be installed via Cargo, Docker, Homebrew, Nix, or Chocolatey.

Tokens
30.5K
Snippets
87
Records
125
Agent score
72%

What's inside managarr

  1. Overview of Managarr

    main

    Managarr is a Terminal User Interface (TUI) and Command Line Interface (CLI) designed to help manage your Home Theater PC (HTPC) setup. It specifically provides management capabilities for 'Servarr' applications.

    Supported Servarrs:

    • Radarr
    • Sonarr
    • Lidarr

    (Note: Readarr, Prowlarr, Whisparr, Bazarr, and Tautulli are listed as planned/not yet supported in the current version).

  2. Supported Servarrs and features

    main

    Managarr supports Radarr, Sonarr, and Lidarr with varying levels of TUI and CLI feature parity.

    Radarr

    • TUI & CLI: View library, downloads, collections, blocklist, movie details, search, add/delete movies, trigger searches/scans, edit movies/indexers, manage tags/root folders/blocklist, view logs/tasks/events, and trigger scheduled tasks.
    • CLI Only: View host and security configs to programmatically fetch API tokens.

    Sonarr

    • TUI & CLI: View library, downloads, blocklist, episodes, series/episode details, search, add/delete series/downloads/indexers/root folders/episode files, trigger searches/scans, edit series/indexers, manage tags/root folders/blocklist, view logs/tasks/events, and trigger scheduled tasks.
    • CLI Only: View host and security configs to programmatically fetch API tokens.

    Lidarr

    • TUI & CLI: View library, downloads, blocklist, tracks, artist/album/track details, search, add/delete artists/downloads/indexers/root folders/track files, trigger searches/scans, edit artists/indexers, manage tags/root folders/blocklist, view logs/tasks/events, and trigger scheduled tasks.
    • CLI Only: View host and security configs to programmatically fetch API tokens.

    Planned Support

    • Readarr, Whisparr, Bazarr, Prowlarr, Tautulli.
  3. Create a custom Managarr theme

    main

    To create a custom theme, add a new entry to your themes.yml file. Themes are defined using hex color codes for various TUI elements. If you do not want to use the default themes.yml, you can specify a custom file path using the --themes-file CLI argument.

    Note: Some color options may affect more UI elements in future updates as the project evolves.

    - name: my-theme
      theme:
        background:
          enabled: true
          color: "#233237"
        awaiting_import:
          color: "#FFAA42"
        indeterminate:
          color: "#FFAA42"
        default:
          color: "#FFFFFF"
        downloaded:
          color: "#00FF00"
        downloading:
          color: "#762671"
        failure:
          color: "#DE382B"
        help:
          color: "#00FFFF"
        missing:
          color: "#DE382B"
        primary:
          color: "#2CB5E9"
        secondary:
          color: "#FFC706"
        success:
          color: "#39B54A"
        system_function:
          color: "#FFC706"
        unmonitored:
          color: "#808080"
        unmonitored_missing:
          color: "#FFC706"
        unreleased:
          color: "#00FFFF"
        warning:
          color: "#FF00FF"
  4. Install Managarr via Chocolatey (Windows)

    main

    Use Chocolatey to install or upgrade Managarr on Windows. Note that new releases may take some time to appear on Chocolatey due to validation processes.

    # Install latest
    choco install managarr
    
    # Install specific version
    choco install managarr --version=0.7.0
    
    # Upgrade to latest
    choco upgrade managarr
    
    # Upgrade to specific version
    choco upgrade managarr --version=0.7.0
  5. Install Managarr via Docker

    main

    To run Managarr in a Docker container, you must first create and populate a config.yml file. You then mount this file to /root/.config/managarr/config.yml inside the container.

    Important Notes:

    • The container will fail to start if the configuration file is not provided.
    • If you encounter errors with relative file paths when mounting the volume, use an absolute path.
    • You can build a local image by cloning the repository and running just build-docker.
    docker run --rm -it -v /home/aclarke/.config/managarr/config.yml:/root/.config/managarr/config.yml darkalex17/managarr:latest
  6. Manual Installation from Binaries

    main

    You can download pre-compiled binaries from the GitHub releases page. Supported architectures include:

    • macOS: x86_64, arm64
    • Linux (GNU/MUSL): x86_64, armv6, armv7, aarch64
    • Windows: x86_64, aarch64

    Windows Setup

    1. Download the latest binary.
    2. Unpack the Tar file using 7-Zip or TarTool.
    3. Run managarr.exe.

    Linux/macOS Setup

    1. Download the latest binary.
    2. Navigate to the download directory.
    3. Extract the binary to /usr/local/bin (may require sudo): tar -C /usr/local/bin -xzf <arch>.tar.gz
    4. Run managarr.
  7. Configure the Eldritch theme for Managarr

    main

    The Eldritch theme is configured using the themes.yml file located within the theme's directory. To apply or modify the Eldritch theme, you must interact with this configuration file.

    # themes/eldritch/themes.yml
    # This file contains the configuration for the Eldritch theme.
  8. Activate a custom theme

    main

    Once a theme is defined in themes.yml, you can activate it using one of two methods:

    1. Permanent Configuration: Update your config.yml file by setting the theme key to your theme's name.
    2. CLI Testing: Use the --theme flag to quickly test a theme without modifying your configuration.

    You can also point Managarr to a different themes file entirely using the --themes-file flag.

    # In config.yml
    theme: my-theme
    radarr:
      ...
    sonarr:
      ...
    # Via CLI to test a theme
    managarr --theme my-theme
    
    # Via CLI to use a specific themes file
    managarr --themes-file /path/to/my/testing-themes.yml
  9. Configure Managarr Servarr instances

    main

    Managarr connects to Servarr services (Radarr, Sonarr, Lidarr, etc.) using a YAML configuration file. If you only provide an api_token, Managarr assumes the service is running on localhost using the following default ports:

    ServarrDefault HostDefault Port
    Radarrlocalhost7878
    Sonarrlocalhost8989
    Lidarrlocalhost8686

    To find the default configuration file location for your operating system, run:

    managarr config-path
    radarr:
      - api_token: <your-radarr-api-token-here>
    
    sonarr:
      - api_token: <your-sonarr-api-token-here>
    
    lidarr:
      - api_token: <your-lidarr-api-token-here>
  10. Install Managarr via Nix

    main

    For NixOS users, you can install Managarr directly into your environment. For non-NixOS users, you can use nix-shell to spawn a temporary shell containing Managarr.

    # NixOS installation
    nix-env --install managarr
    
    # Non-NixOS temporary shell
    nix-shell -p managarr