feat(config): add configuration management for Yarr TUI app
This commit is contained in:
165
README.md
Normal file
165
README.md
Normal file
@@ -0,0 +1,165 @@
|
||||
# Yarr
|
||||
|
||||
A Terminal User Interface (TUI) for managing Sonarr.
|
||||
|
||||
## Features
|
||||
|
||||
- View system status and health
|
||||
- Browse series and episodes
|
||||
- Monitor download queue
|
||||
- View download history
|
||||
- Interactive TUI interface
|
||||
- Configurable via config files, environment variables, or CLI arguments
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
cargo install --path .
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
Yarr supports multiple configuration methods with the following priority order (highest to lowest):
|
||||
|
||||
1. Command line arguments
|
||||
2. Environment variables
|
||||
3. Configuration file
|
||||
4. Default values
|
||||
|
||||
### Configuration File
|
||||
|
||||
Create a configuration file in one of these locations:
|
||||
|
||||
- `./yarr.toml` (current directory)
|
||||
- `~/.config/yarr/config.toml` (user config directory)
|
||||
|
||||
Example configuration:
|
||||
|
||||
```toml
|
||||
[sonarr]
|
||||
url = "http://localhost:8989"
|
||||
api_key = "your-api-key-here"
|
||||
```
|
||||
|
||||
### Environment Variables
|
||||
|
||||
Set these environment variables:
|
||||
|
||||
```bash
|
||||
export YARR_SONARR_URL="http://localhost:8989"
|
||||
export YARR_SONARR_API_KEY="your-api-key-here"
|
||||
```
|
||||
|
||||
### Command Line Arguments
|
||||
|
||||
```bash
|
||||
yarr --sonarr-url="http://localhost:8989" --sonarr-api-key="your-api-key"
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
### TUI Mode (Default)
|
||||
|
||||
Launch the interactive TUI:
|
||||
|
||||
```bash
|
||||
yarr
|
||||
# or explicitly
|
||||
yarr tui
|
||||
```
|
||||
|
||||
### Command Line Mode
|
||||
|
||||
List all series:
|
||||
|
||||
```bash
|
||||
yarr list
|
||||
```
|
||||
|
||||
List only monitored series:
|
||||
|
||||
```bash
|
||||
yarr list --monitored
|
||||
```
|
||||
|
||||
Add a new series:
|
||||
|
||||
```bash
|
||||
yarr add --name "Series Name"
|
||||
```
|
||||
|
||||
### Configuration Management
|
||||
|
||||
Create a sample config file:
|
||||
|
||||
```bash
|
||||
yarr config init
|
||||
```
|
||||
|
||||
Create config file at specific location:
|
||||
|
||||
```bash
|
||||
yarr config init --path /path/to/config.toml
|
||||
```
|
||||
|
||||
Show current configuration:
|
||||
|
||||
```bash
|
||||
yarr config show
|
||||
```
|
||||
|
||||
Show configuration file search paths:
|
||||
|
||||
```bash
|
||||
yarr config paths
|
||||
```
|
||||
|
||||
### Shell Completions
|
||||
|
||||
Generate shell completions:
|
||||
|
||||
```bash
|
||||
# Bash
|
||||
yarr completions bash > /etc/bash_completion.d/yarr
|
||||
|
||||
# Zsh
|
||||
yarr completions zsh > ~/.zfunc/_yarr
|
||||
|
||||
# Fish
|
||||
yarr completions fish > ~/.config/fish/completions/yarr.fish
|
||||
|
||||
# PowerShell
|
||||
yarr completions powershell > yarr.ps1
|
||||
```
|
||||
|
||||
## TUI Controls
|
||||
|
||||
- `q` - Quit
|
||||
- `↑/↓` or `j/k` - Navigate up/down
|
||||
- `Enter` - Select/expand
|
||||
- `Tab` - Switch between panels
|
||||
- `r` - Refresh data
|
||||
|
||||
## Getting Started
|
||||
|
||||
1. Install yarr
|
||||
2. Create a configuration file:
|
||||
```bash
|
||||
yarr config init
|
||||
```
|
||||
3. Edit the configuration file to set your Sonarr URL and API key
|
||||
4. Launch the TUI:
|
||||
```bash
|
||||
yarr
|
||||
```
|
||||
|
||||
## Finding Your Sonarr API Key
|
||||
|
||||
1. Open your Sonarr web interface
|
||||
2. Go to Settings > General
|
||||
3. Find the "Security" section
|
||||
4. Copy the "API Key" value
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
Reference in New Issue
Block a user