chore(docs): Sync docs to wiki [skip-cd]

Actionbot 2025-08-17 02:07:04 +00:00
parent 90899f05db
commit 6c18410711
7 changed files with 330 additions and 60 deletions

@ -8,7 +8,7 @@
| `-r` or`--run` | QBT_RUN | N/A | Run without the scheduler. Script will exit after completion. | False | | `-r` or`--run` | QBT_RUN | N/A | Run without the scheduler. Script will exit after completion. | False |
| `-sch` or `--schedule` | QBT_SCHEDULE | N/A | Schedule to run every x minutes or choose customize schedule via [cron](https://crontab.guru/examples.html). (Default set to 1440 (1 day)) | 1440 | | `-sch` or `--schedule` | QBT_SCHEDULE | N/A | Schedule to run every x minutes or choose customize schedule via [cron](https://crontab.guru/examples.html). (Default set to 1440 (1 day)) | 1440 |
| `-sd` or `--startup-delay` | QBT_STARTUP_DELAY | N/A | Set delay in seconds on the first run of a schedule (Default set to 0) | 0 | | `-sd` or `--startup-delay` | QBT_STARTUP_DELAY | N/A | Set delay in seconds on the first run of a schedule (Default set to 0) | 0 |
| `-c CONFIG` or `--config-file CONFIG` | QBT_CONFIG | N/A | This is used if you want to use a different name for your config.yml. `Example: tv.yml`. Supports wildcards to use multiple configs. `Example: config-*.yml` | config.yml | | `-c CONFIG` or `--config-file CONFIG` | QBT_CONFIG | N/A | Override the default config file location. By default, qbit_manage looks for `config.yml` in platform-specific directories (see [Config-Setup](Config-Setup.md) for details). Use this to specify a custom path or filename. `Example: tv.yml`. Supports wildcards to use multiple configs. `Example: config-*.yml` | Platform-specific |
| `-lf LOGFILE,` or `--log-file LOGFILE,` | QBT_LOGFILE | N/A | This is used if you want to use a different name for your log file. `Example: tv.log` | activity.log | | `-lf LOGFILE,` or `--log-file LOGFILE,` | QBT_LOGFILE | N/A | This is used if you want to use a different name for your log file. `Example: tv.log` | activity.log |
| `-re` or `--recheck` | QBT_RECHECK | recheck | Recheck paused torrents sorted by lowest size. Resume if Completed. | False | | `-re` or `--recheck` | QBT_RECHECK | recheck | Recheck paused torrents sorted by lowest size. Resume if Completed. | False |
| `-cu` or `--cat-update` | QBT_CAT_UPDATE | cat_update | Use this if you would like to update your categories or move from one category to another. | False | | `-cu` or `--cat-update` | QBT_CAT_UPDATE | cat_update | Use this if you would like to update your categories or move from one category to another. | False |

@ -3,7 +3,19 @@
The script utilizes a YAML config file to load information to connect to the various APIs you can connect with. Alternatively, you can configure qBit Manage using the [Web UI](Web-UI.md), which requires the [Web API](Web-API.md) to be enabled. The script utilizes a YAML config file to load information to connect to the various APIs you can connect with. Alternatively, you can configure qBit Manage using the [Web UI](Web-UI.md), which requires the [Web API](Web-API.md) to be enabled.
By default, the script looks at `/config/config.yml` when running locally or `/app/config.yml` in docker for the Configuration File unless otherwise specified. ## Default Configuration File Locations
The script looks for the configuration file in different locations depending on your platform:
### Local Installation (Platform-specific)
- **Windows**: `%APPDATA%\qbit-manage\config.yml` (typically `C:\Users\<username>\AppData\Roaming\qbit-manage\config.yml`)
- **macOS**: `~/Library/Application Support/qbit-manage/config.yml`
- **Linux/Unix**: `~/.config/qbit-manage/config.yml` (or `$XDG_CONFIG_HOME/qbit-manage/config.yml` if XDG_CONFIG_HOME is set)
### Docker Installation
- `/app/config.yml` (inside the container)
You can override the default location by using the `--config-file` or `-c` command line option to specify a custom path.
A template Configuration File can be found in the repo [config/config.yml.sample](https://github.com/StuffAnThings/qbit_manage/blob/master/config/config.yml.sample). A template Configuration File can be found in the repo [config/config.yml.sample](https://github.com/StuffAnThings/qbit_manage/blob/master/config/config.yml.sample).
@ -265,7 +277,7 @@ Provide webhook notifications based on event triggers
Payload will be sent on any errors Payload will be sent on any errors
```json ```yaml
{ {
"function": "run_error", // Webhook Trigger keyword "function": "run_error", // Webhook Trigger keyword
"title": str, // Title of the Payload "title": str, // Title of the Payload
@ -279,7 +291,7 @@ Payload will be sent on any errors
Payload will be sent at the start of the run Payload will be sent at the start of the run
```json ```yaml
{ {
"function": "run_start", // Webhook Trigger keyword "function": "run_start", // Webhook Trigger keyword
"title": str, // Title of the Payload "title": str, // Title of the Payload
@ -294,7 +306,7 @@ Payload will be sent at the start of the run
Payload will be sent at the end of the run Payload will be sent at the end of the run
```json ```yaml
{ {
"function": "run_end", // Webhook Trigger keyword "function": "run_end", // Webhook Trigger keyword
"title": str, // Title of the Payload "title": str, // Title of the Payload
@ -327,7 +339,7 @@ Payload will be sent at the end of the run
Payload will be sent when rechecking/resuming a torrent that is paused Payload will be sent when rechecking/resuming a torrent that is paused
```json ```yaml
{ {
"function": "recheck", // Webhook Trigger keyword "function": "recheck", // Webhook Trigger keyword
"title": str, // Title of the Payload "title": str, // Title of the Payload
@ -344,7 +356,7 @@ Payload will be sent when rechecking/resuming a torrent that is paused
Payload will be sent when updating torrents with missing category Payload will be sent when updating torrents with missing category
```json ```yaml
{ {
"function": "cat_update", // Webhook Trigger keyword "function": "cat_update", // Webhook Trigger keyword
"title": str, // Title of the Payload "title": str, // Title of the Payload
@ -361,7 +373,7 @@ Payload will be sent when updating torrents with missing category
Payload will be sent when updating torrents with missing tag Payload will be sent when updating torrents with missing tag
```json ```yaml
{ {
"function": "tag_update", // Webhook Trigger keyword "function": "tag_update", // Webhook Trigger keyword
"title": str, // Title of the Payload "title": str, // Title of the Payload
@ -378,7 +390,7 @@ Payload will be sent when updating torrents with missing tag
Payload will be sent when Unregistered Torrents are found Payload will be sent when Unregistered Torrents are found
```json ```yaml
{ {
"function": "rem_unregistered", // Webhook Trigger keyword "function": "rem_unregistered", // Webhook Trigger keyword
"title": str, // Title of the Payload "title": str, // Title of the Payload
@ -397,7 +409,7 @@ Payload will be sent when Unregistered Torrents are found
Payload will be sent when trackers with errors are tagged/untagged Payload will be sent when trackers with errors are tagged/untagged
```json ```yaml
{ {
"function": "tag_tracker_error", // Webhook Trigger keyword "function": "tag_tracker_error", // Webhook Trigger keyword
"title": str, // Title of the Payload "title": str, // Title of the Payload
@ -411,7 +423,7 @@ Payload will be sent when trackers with errors are tagged/untagged
} }
``` ```
```json ```yaml
{ {
"function": "untag_tracker_error", // Webhook Trigger keyword "function": "untag_tracker_error", // Webhook Trigger keyword
"title": str, // Title of the Payload "title": str, // Title of the Payload
@ -428,7 +440,7 @@ Payload will be sent when trackers with errors are tagged/untagged
Payload will be sent when Orphaned Files are found and moved into the orphaned folder Payload will be sent when Orphaned Files are found and moved into the orphaned folder
```json ```yaml
{ {
"function": "rem_orphaned", // Webhook Trigger keyword "function": "rem_orphaned", // Webhook Trigger keyword
"title": str, // Title of the Payload "title": str, // Title of the Payload
@ -443,7 +455,7 @@ Payload will be sent when Orphaned Files are found and moved into the orphaned f
Payload will be sent when no hard links are found for any files in a particular torrent Payload will be sent when no hard links are found for any files in a particular torrent
```json ```yaml
{ {
"function": "tag_nohardlinks", // Webhook Trigger keyword "function": "tag_nohardlinks", // Webhook Trigger keyword
"title": str, // Title of the Payload "title": str, // Title of the Payload
@ -458,7 +470,7 @@ Payload will be sent when no hard links are found for any files in a particular
Payload will be sent when hard links are found for any torrents that were previously tagged with `noHL` Payload will be sent when hard links are found for any torrents that were previously tagged with `noHL`
```json ```yaml
{ {
"function": "untag_nohardlinks", // Webhook Trigger keyword "function": "untag_nohardlinks", // Webhook Trigger keyword
"title": str, // Title of the Payload "title": str, // Title of the Payload
@ -475,7 +487,7 @@ Payload will be sent when hard links are found for any torrents that were previo
Payload will be sent when Share Limits are updated for a specific group Payload will be sent when Share Limits are updated for a specific group
```json ```yaml
{ {
"function": "share_limits", // Webhook Trigger keyword "function": "share_limits", // Webhook Trigger keyword
"title": str, // Title of the Payload "title": str, // Title of the Payload
@ -492,7 +504,7 @@ Payload will be sent when Share Limits are updated for a specific group
Payload will be sent when `cleanup` flag is set to true and torrent meets share limit criteria. Payload will be sent when `cleanup` flag is set to true and torrent meets share limit criteria.
```json ```yaml
{ {
"function": "cleanup_share_limits", // Webhook Trigger keyword "function": "cleanup_share_limits", // Webhook Trigger keyword
"title": str, // Title of the Payload "title": str, // Title of the Payload
@ -511,7 +523,7 @@ Payload will be sent when `cleanup` flag is set to true and torrent meets share
Payload will be sent when files are deleted/cleaned up from the various folders Payload will be sent when files are deleted/cleaned up from the various folders
```json ```yaml
{ {
"function": "cleanup_dirs", // Webhook Trigger keyword "function": "cleanup_dirs", // Webhook Trigger keyword
"location": str, // Location of the folder that is being cleaned "location": str, // Location of the folder that is being cleaned

18
Home.md

@ -4,9 +4,21 @@ This wiki should tell you everything you need to know about the script to get it
## Getting Started ## Getting Started
1. Install qbit_manage either by installing Python3.9.0+ on the localhost and following the [Local Installation](https://github.com/StuffAnThings/qbit_manage/wiki/Local-Installations) Guide or by installing Docker and following the [Docker Installation](https://github.com/StuffAnThings/qbit_manage/wiki/Docker-Installation) Guide or the [unRAID Installation](https://github.com/StuffAnThings/qbit_manage/wiki/Unraid-Installation) Guide.<br> 1. **Choose your installation method:**
1. Once installed, you have to [set up your Configuration](https://github.com/StuffAnThings/qbit_manage/wiki/Config-Setup) by create a [Configuration File](https://github.com/StuffAnThings/qbit_manage/blob/master/config/config.yml.sample) filled with all your values to connect to your qBittorrent instance. - **Desktop App** (Recommended): Download and install the GUI application for [Windows, macOS, or Linux](Installation.md#desktop-app-installation)
1. Please refer to the list of [Commands](https://github.com/StuffAnThings/qbit_manage/wiki/Commands) that can be used with this tool. - **Standalone Binary**: Download the command-line executable for [Windows, macOS, or Linux](Installation.md#standalone-binary-installation)
- **Docker**: Follow the [Docker Installation](Docker-Installation) guide for containerized environments
- **Python/Source**: Install from [PyPI or source code](Local-Installations) for development
- **unRAID**: Follow the [unRAID Installation](Unraid-Installation) guide for unRAID systems
2. **Configure qbit_manage:**
- Desktop app users: Configuration is handled through the GUI
- Command-line users: [Set up your Configuration](Config-Setup) by creating a [Configuration File](https://github.com/StuffAnThings/qbit_manage/blob/master/config/config.yml.sample) with your qBittorrent connection details
3. **Start using qbit_manage:**
- Review the [Commands](Commands) documentation to understand available features
- Try the [Web UI](Web-UI) for an intuitive configuration experience
- Use the [Web API](Web-API) for automation and integration
## Support ## Support

@ -1,7 +1,120 @@
# Installation Table of Contents # Installation Options
- [Installation](https://github.com/StuffAnThings/qbit_manage/wiki/Installation) qbit_manage offers multiple installation methods to suit different use cases:
- [unRAID Installation](https://github.com/StuffAnThings/qbit_manage/wiki/Unraid-Installation)
- [Local Installation](https://github.com/StuffAnThings/qbit_manage/wiki/Local-Installations) ## Installation Methods
- [NIX Installation](https://github.com/StuffAnThings/qbit_manage/wiki/Nix-Installation)
- [Docker Installation](https://github.com/StuffAnThings/qbit_manage/wiki/Docker-Installation) ### 1. Desktop App (Recommended for most users)
- **Windows**: Download and run the `.exe` installer
- **macOS**: Download and install the `.dmg` package
- **Linux**: Download and install the `.deb` package
The desktop app provides a graphical interface and automatically handles configuration file setup.
### 2. Standalone Binary (Command-line)
- **Windows**: `qbit-manage-windows-amd64.exe`
- **macOS**: `qbit-manage-macos-arm64` (Apple Silicon) or `qbit-manage-macos-x86_64` (Intel)
- **Linux**: `qbit-manage-linux-amd64`
Perfect for server environments, automation, or users who prefer command-line tools.
### 3. Docker Container
- Multi-architecture support (amd64, arm64, arm/v7)
- Ideal for containerized environments and NAS systems
### 4. Python Installation
- Install from source or PyPI
- For developers or users who want to modify the code
## Detailed Installation Guides
- [Desktop App Installation](#desktop-app-installation)
- [Standalone Binary Installation](#standalone-binary-installation)
- [Docker Installation](Docker-Installation)
- [Python/Source Installation](Local-Installations)
- [unRAID Installation](Unraid-Installation)
- [NIX Installation](Nix-Installation)
## Desktop App Installation
### Windows
1. Download `qbit-manage-*-desktop-installer-setup.exe` from the [releases page](https://github.com/StuffAnThings/qbit_manage/releases)
2. Run the installer and follow the setup wizard
3. Launch qbit_manage from the Start Menu or desktop shortcut
4. The app will automatically create the configuration directory and files
### macOS
1. Download `qbit-manage-*-desktop-installer.dmg` from the [releases page](https://github.com/StuffAnThings/qbit_manage/releases)
2. Open the DMG file and drag qbit_manage to your Applications folder
3. Launch qbit_manage from Applications (you may need to allow it in System Preferences > Security & Privacy)
4. The app will automatically create the configuration directory and files
### Linux
1. Download `qbit-manage-*-desktop-installer.deb` from the [releases page](https://github.com/StuffAnThings/qbit_manage/releases)
2. Install using your package manager:
```bash
sudo dpkg -i qbit-manage-*-desktop-installer.deb
sudo apt-get install -f # Fix any dependency issues
```
3. Launch qbit_manage from your applications menu or run `qbit-manage` in terminal
4. The app will automatically create the configuration directory and files
## Standalone Binary Installation
### Windows
1. Download `qbit-manage-windows-amd64.exe` from the [releases page](https://github.com/StuffAnThings/qbit_manage/releases)
2. Place the executable in a directory of your choice (e.g., `C:\Program Files\qbit-manage\`)
3. Add the directory to your PATH environment variable (optional)
4. Run from Command Prompt or PowerShell:
```cmd
qbit-manage-windows-amd64.exe --help
```
### macOS
1. Download the appropriate binary from the [releases page](https://github.com/StuffAnThings/qbit_manage/releases):
- `qbit-manage-macos-arm64` for Apple Silicon Macs (M1, M2, M3, etc.)
- `qbit-manage-macos-x86_64` for Intel Macs
2. Make the binary executable:
```bash
chmod +x qbit-manage-macos-*
```
3. Move to a directory in your PATH (optional):
```bash
sudo mv qbit-manage-macos-* /usr/local/bin/qbit-manage
```
4. Run the binary:
```bash
./qbit-manage-macos-* --help
```
### Linux
1. Download `qbit-manage-linux-amd64` from the [releases page](https://github.com/StuffAnThings/qbit_manage/releases)
2. Make the binary executable:
```bash
chmod +x qbit-manage-linux-amd64
```
3. Move to a directory in your PATH (optional):
```bash
sudo mv qbit-manage-linux-amd64 /usr/local/bin/qbit-manage
```
4. Run the binary:
```bash
./qbit-manage-linux-amd64 --help
```
## Quick Reference: Default Configuration File Locations
### Desktop App & Standalone Binary
- **Windows**: `%APPDATA%\qbit-manage\config.yml`
- **macOS**: `~/Library/Application Support/qbit-manage/config.yml`
- **Linux**: `~/.config/qbit-manage/config.yml`
### Docker Installation
- **Container Path**: `/app/config.yml`
- **Host Mount**: Typically mounted from `/path/to/your/config:/config`
### Custom Location
You can override the default location using the `--config-file` or `-c` command line option:
```bash
qbit-manage --config-file /path/to/your/config.yml
```

@ -1,64 +1,179 @@
# Local Installations # Python/Source Installation
Below is a simple high level set of instructions for cloning the repository and executing qbit_manage This guide covers installing qbit_manage from source code or PyPI for development purposes or when you need the latest features.
* Requires `python 3.9.0`. Dependencies must be installed by running: **Note**: For most users, we recommend using the [Desktop App or Standalone Binary](Installation.md) instead, as they're easier to install and use.
Navigate to the directory you'd liked to clone the repo into ## Prerequisites
Clone the repo * Python 3.9.0 or higher
* pip (Python package installer)
* Git (for source installation)
## Installation Methods
### Method 1: Install from PyPI (Recommended)
```bash ```bash
git clone https://github.com/StuffAnThings/qbit_manage pip install qbit-manage
``` ```
Install requirements ### Method 2: Install from Source
Navigate to the directory where you'd like to clone the repository:
```bash ```bash
# Clone the repository
git clone https://github.com/StuffAnThings/qbit_manage
cd qbit_manage
# Install the package
pip install . pip install .
``` ```
If there are issues installing dependencies try: If you encounter dependency issues, try:
```bash ```bash
pip install . --ignore-installed pip install . --ignore-installed
``` ```
## Usage ### Method 3: Development Installation
To run the script in an interactive terminal run: For development or to get the latest unreleased features:
* copy the `config.yml.sample` file to `config.yml`
* Fill out the config file as outlined in the [Config-Setup](https://github.com/StuffAnThings/qbit_manage/wiki/Config-Setup)
Run the script `-h` to see a list of commands
```bash ```bash
# Clone the repository
git clone https://github.com/StuffAnThings/qbit_manage
cd qbit_manage
# Install in development mode
pip install -e .
```
## Configuration File Setup
After installation, qbit_manage will look for configuration files in platform-specific locations:
- **Windows**: `%APPDATA%\qbit-manage\config.yml`
- **macOS**: `~/Library/Application Support/qbit-manage/config.yml`
- **Linux/Unix**: `~/.config/qbit-manage/config.yml`
### Setting up the Configuration
1. Create the configuration directory:
```bash
# Windows (PowerShell)
New-Item -ItemType Directory -Force -Path "$env:APPDATA\qbit-manage"
# macOS/Linux
mkdir -p ~/.config/qbit-manage # Linux
mkdir -p ~/Library/Application\ Support/qbit-manage # macOS
```
2. Copy the sample configuration:
```bash
# From the cloned repository
cp config/config.yml.sample ~/.config/qbit-manage/config.yml # Linux
cp config/config.yml.sample ~/Library/Application\ Support/qbit-manage/config.yml # macOS
copy config\config.yml.sample "%APPDATA%\qbit-manage\config.yml" # Windows
```
3. Edit the configuration file as outlined in the [Config-Setup](Config-Setup.md) guide.
**Alternative**: You can place the config file anywhere and specify its location using the `--config-file` option.
## Usage
### Running the Script
### Basic Usage
Run the script with `-h` to see all available commands:
```bash
qbit-manage -h
# or if installed from source
python qbit_manage.py -h python qbit_manage.py -h
``` ```
### Web API and Web UI ### Common Usage Examples
To run the Web API and Web UI, use the `--web-server` flag:
**Run with default configuration:**
```bash ```bash
python qbit_manage.py --web-server qbit-manage
``` ```
You can then access the Web UI in your browser, typically at `http://localhost:8080`. **Run specific commands:**
### Config
To choose the location of the YAML config file
```bash ```bash
python qbit_manage.py --config-file <path_to_config> qbit-manage --cat-update --tag-update
``` ```
### Log **Run with Web API and Web UI:**
```bash
qbit-manage --web-server
```
You can then access the Web UI in your browser at `http://localhost:8080`.
To choose the location of the Log File **Use custom configuration file:**
```bash
qbit-manage --config-file /path/to/your/config.yml
```
**Run in dry-run mode (preview changes without applying them):**
```bash
qbit-manage --dry-run --cat-update --tag-update
```
**Run on a schedule:**
```bash
qbit-manage --schedule 1440 # Run every 24 hours (1440 minutes)
```
### Command Line Options
| Option | Description |
|--------|-------------|
| `--config-file`, `-c` | Specify custom config file location |
| `--log-file`, `-lf` | Specify custom log file location |
| `--web-server`, `-ws` | Start the web server for API and UI |
| `--port`, `-p` | Web server port (default: 8080) |
| `--dry-run`, `-dr` | Preview changes without applying them |
| `--schedule`, `-sch` | Run on a schedule (minutes) |
| `--run`, `-r` | Run once and exit (no scheduler) |
For a complete list of commands and options, see the [Commands](Commands.md) documentation.
### Virtual Environment (Recommended)
For Python installations, it's recommended to use a virtual environment:
```bash ```bash
python qbit_manage.py --log-file <path_to_log> # Create virtual environment
python -m venv qbit-manage-env
# Activate virtual environment
# Linux/macOS:
source qbit-manage-env/bin/activate
# Windows:
qbit-manage-env\Scripts\activate
# Install qbit-manage
pip install qbit-manage
# Run qbit-manage
qbit-manage --help
```
### Updating
**PyPI installation:**
```bash
pip install --upgrade qbit-manage
```
**Source installation:**
```bash
cd qbit_manage
git pull
pip install . --upgrade
``` ```

@ -20,6 +20,23 @@ pip install .
* Create Config * Create Config
**Note:** If using the standalone desktop app, it will automatically create the necessary directories and config files. For command-line usage, you have these options:
**Option 1 - Use default system location:**
```bash
# Create the config directory
mkdir -p ~/.config/qbit-manage
# Copy the sample config
cp config/config.yml.sample ~/.config/qbit-manage/config.yml
# Edit the config file
nano ~/.config/qbit-manage/config.yml
```
**Option 2 - Keep in project directory:**
```bash ```bash
cd config cd config
cp config.yml.sample config.yml cp config.yml.sample config.yml
@ -120,12 +137,12 @@ chmod +x qbm-update.sh
To run qBit Manage with the Web API and Web UI enabled, execute the `qbit_manage.py` script with the `--web-server` flag: To run qBit Manage with the Web API and Web UI enabled, execute the `qbit_manage.py` script with the `--web-server` flag:
**If using the default config location (`~/.config/qbit-manage/config.yml`):**
```bash ```bash
python qbit_manage.py --web-server python qbit_manage.py --web-server
``` ```
You can also specify a configuration file and log file: **If using a custom config location:**
```bash ```bash
python qbit_manage.py --web-server --config-file /path/to/your/config.yml --log-file /path/to/your/activity.log python qbit_manage.py --web-server --config-file /path/to/your/config.yml --log-file /path/to/your/activity.log
``` ```

@ -1,9 +1,10 @@
- [Home](Home) - [Home](Home)
- [Installation](Installation) - [Installation](Installation)
- [unRAID Installation](Unraid-Installation) - [Desktop App & Binary Installation](Installation)
- [Local Installation](Local-Installations)
- [NIX Installation](Nix-Installation)
- [Docker Installation](Docker-Installation) - [Docker Installation](Docker-Installation)
- [Python/Source Installation](Local-Installations)
- [unRAID Installation](Unraid-Installation)
- [NIX Installation](Nix-Installation)
- [V4 Migration Guide](v4-Migration-Guide) - [V4 Migration Guide](v4-Migration-Guide)
- [Config Setup](Config-Setup) - [Config Setup](Config-Setup)
- [Sample Config File](Config-Setup#config-file) - [Sample Config File](Config-Setup#config-file)