### Install qui on HostingByDesign Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/getting-started/seedbox-installers.md Use this command to download, make executable, and run the installer script for HostingByDesign. ```bash wget -O installer.sh https://get.autobrr.com/qui/hostingbydesign && chmod +x installer.sh && ./installer.sh ``` -------------------------------- ### Install qui on Whatbox Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/getting-started/seedbox-installers.md Use this command to download, make executable, and run the installer script for Whatbox. ```bash wget -O installer.sh https://get.autobrr.com/qui/whatbox && chmod +x installer.sh && ./installer.sh ``` -------------------------------- ### Install qui on Bytesized Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/getting-started/seedbox-installers.md Use this command to download, make executable, and run the installer script for Bytesized. Note: This installer has not been tested. ```bash wget -O installer.sh https://get.autobrr.com/qui/bytesized && chmod +x installer.sh && ./installer.sh ``` -------------------------------- ### Install qui on Ultra.cc Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/getting-started/seedbox-installers.md Use this command to download, make executable, and run the installer script for Ultra.cc. ```bash wget -O installer.sh https://get.autobrr.com/qui/ultra && chmod +x installer.sh && ./installer.sh ``` -------------------------------- ### Install qui on Seedhost Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/getting-started/seedbox-installers.md Use this command to download, make executable, and run the installer script for Seedhost. ```bash wget -O installer.sh https://get.autobrr.com/qui/seedhost && chmod +x installer.sh && ./installer.sh ``` -------------------------------- ### Start qui Service Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/getting-started/windows.md Run the qui executable to start the service for the first time. This generates default configuration files and prompts for account creation. ```powershell .\qui.exe serve ``` -------------------------------- ### Install qui on Feral Seedbox Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/getting-started/seedbox-installers.md Use this command to download, make executable, and run the installer script for Feral. ```bash wget -O installer.sh https://get.autobrr.com/qui/feral && chmod +x installer.sh && ./installer.sh ``` -------------------------------- ### Start qui with Docker Compose (Postgres) Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/getting-started/docker.md Command to start qui and its PostgreSQL database using a specific Docker Compose file. ```bash docker compose -f docker-compose.postgres.yml up -d ``` -------------------------------- ### Install Project Dependencies Source: https://github.com/autobrr/qui/blob/develop/documentation/README.md Installs all necessary project dependencies using pnpm. Run this command in the project root. ```bash pnpm install ``` -------------------------------- ### Make qui Executable and Run Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/getting-started/installation.md Makes the qui binary executable and then starts the qui server. The web interface will be accessible at http://localhost:7476. ```bash # Make it executable (Linux/macOS) chmod +x qui # Run ./qui serve ``` -------------------------------- ### Start Local Development Server Source: https://github.com/autobrr/qui/blob/develop/documentation/README.md Starts a local development server for live previewing changes. The server automatically reloads most modifications without requiring a manual restart. ```bash pnpm start ``` -------------------------------- ### Move path template examples Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/features/automations.md Examples of Go templates used to define dynamic move paths based on torrent properties. ```text /data/archive ``` ```text /data/{{.Category}} ``` ```text /data/{{ sanitize .Name }} ``` ```text /data/{{.IsolationFolderName}} ``` ```text /data/{{.Tracker}} ``` -------------------------------- ### Example config.toml Configuration Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/configuration/reference.md A sample configuration file demonstrating host, port, logging, and external program allowlist settings. ```toml host = "0.0.0.0" port = 7476 baseUrl = "/qui/" logLevel = "INFO" logPath = "log/qui.log" logMaxSize = 50 logMaxBackups = 3 trackerIconsFetchEnabled = false externalProgramAllowList = [ "/usr/local/bin", "/home/user/bin/my-script", ] ``` -------------------------------- ### OIDC Redirect URL for Default Install Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/configuration/oidc.md Use this format for the OIDC redirect URL when qui is installed by default. ```bash http://localhost:7476/api/auth/oidc/callback ``` -------------------------------- ### Install and Run qui on Linux x86_64 Source: https://github.com/autobrr/qui/blob/develop/README.md Downloads the latest release and executes the binary. The interface will be accessible at http://localhost:7476. ```bash # Download and extract the latest release wget $(curl -s https://api.github.com/repos/autobrr/qui/releases/latest | grep browser_download_url | grep linux_x86_64 | cut -d" -f4) tar -C /usr/local/bin -xzf qui*.tar.gz # Run ./qui serve ``` -------------------------------- ### Start qui with Docker Compose Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/getting-started/docker.md Command to start the qui service in detached mode using Docker Compose. ```bash docker compose up -d ``` -------------------------------- ### Example OIDC Configuration Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/configuration/oidc.md Set environment variables to enable and configure OIDC authentication with your identity provider. ```bash QUI__OIDC_ENABLED=true \ QUI__OIDC_ISSUER=https://auth.example.com/realms/main \ QUI__OIDC_CLIENT_ID=qui \ QUI__OIDC_CLIENT_SECRET=super-secret-value \ QUI__OIDC_REDIRECT_URL=https://qui.example.com/api/auth/oidc/callback \ QUI__OIDC_DISABLE_BUILT_IN_LOGIN=true ``` -------------------------------- ### Example Arguments with Torrent Placeholders Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/features/external-programs.md Construct command-line arguments using placeholders that qui substitutes with torrent metadata before execution. Shell-style quoting is used for parsing arguments. ```text "{hash}" "{name}" --save "{save_path}" --category "{category}" --tags "{tags}" ``` ```text D:\Upload Assistant\upload.py {save_path}\\{name} ``` -------------------------------- ### Navigate to qui Directory Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/getting-started/windows.md Change the current directory to the qui installation folder. This is a prerequisite for running qui commands. ```powershell cd C:\qui ``` -------------------------------- ### Complete Reverse Proxy URL Example Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/features/reverse-proxy.md This is the format for the complete URL to use when configuring external applications to connect to qBittorrent via qui's reverse proxy. Ensure you replace the placeholder API key with your actual generated key. ```text http://localhost:7476/proxy/abc123def456ghi789jkl012mno345pqr678stu901vwx234yz ``` -------------------------------- ### Update Application Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/configuration/cli-commands.md Update the qui installation to the latest available version using the `update` command. ```bash # Update to the latest version ./qui update ``` -------------------------------- ### Generate Default Configuration File Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/configuration/cli-commands.md Create a default configuration file in the OS-specific default location or a custom directory. This command does not start the server. ```bash # Generate config in OS-specific default location ./qui generate-config ``` ```bash # Generate config in custom directory ./qui generate-config --config-dir /path/to/config/ ``` ```bash # Generate config with custom filename ./qui generate-config --config-dir /path/to/myconfig.toml ``` -------------------------------- ### Execute External Program via REST API Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/features/external-programs.md This example shows how to trigger an external program execution using the qui backend API. It requires program and instance IDs, along with a list of torrent hashes. The endpoint is fire-and-forget. ```http POST /api/external-programs/execute Content-Type: application/json { "program_id": 2, "instance_id": 1, "hashes": ["c0ffee...", "deadbeef..."] } ``` -------------------------------- ### Webhook Error Log Example Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/features/cross-seed/troubleshooting.md Example of the error log output when a webhook fails due to invalid characters in the torrent name. ```json {"level":"error","error":"invalid character 'V' after object key:value pair","time":"...","message":"Failed to decode webhook check request"} ``` -------------------------------- ### GET /api/cross-seed/season-pack/runs Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/features/cross-seed/season-packs.md Lists recent activity for season pack operations. ```APIDOC ## GET /api/cross-seed/season-pack/runs ### Description Lists recent activity for season-pack runs. Keeps the most recent 200 runs. ### Method GET ### Endpoint /api/cross-seed/season-pack/runs ### Parameters #### Query Parameters - **limit** (integer) - Optional - Number of records to return (default 20, max 200) ``` -------------------------------- ### Configure Authentication Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/configuration/environment.md Manages built-in authentication settings, including disabling it for reverse proxy setups. ```bash QUI__AUTH_DISABLED=true # Optional: disable built-in auth (default: false) QUI__I_ACKNOWLEDGE_THIS_IS_A_BAD_IDEA=true # Required confirmation to actually disable auth QUI__AUTH_DISABLED_ALLOWED_CIDRS=127.0.0.1/32,192.168.1.0/24 # Required when auth is disabled (IPs or CIDRs) ``` -------------------------------- ### Configure Profiling (pprof) Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/configuration/environment.md Sets up the pprof server for performance profiling. ```bash QUI__PPROF_ENABLED=true # Optional: enable pprof server (default: false) QUI__PPROF_ADDR=127.0.0.1:6060 # Optional: pprof bind address (default: 127.0.0.1:6060) ``` -------------------------------- ### Serve Application with Custom Directories Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/configuration/cli-commands.md Configure the `serve` command to use custom directories for configuration and data files. ```bash # Specify config directory (config.toml will be created inside) ./qui serve --config-dir /path/to/config/ ``` ```bash # Specify data directory for database and other data files ./qui serve --data-dir /path/to/data/ ``` -------------------------------- ### Configure Server Environment Variables Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/configuration/environment.md Set the host, port, and base URL for the server instance. ```bash QUI__HOST=0.0.0.0 # Listen address QUI__PORT=7476 # Port number QUI__BASE_URL=/qui/ # Optional: serve from subdirectory ``` -------------------------------- ### Simple Mode Webhook Trigger Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/features/cross-seed/dir-scan.md Example of manually triggering a scan using a simple JSON payload with curl. ```bash curl -X POST "http://localhost:7476/api/dir-scan/webhook/scan?apikey=YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{"path": "/data/media/movies/Movie Name (2024)"}' ``` -------------------------------- ### Build and Development Commands Source: https://github.com/autobrr/qui/blob/develop/AGENTS.md Standard make commands for building the project and running development environments. ```bash make build ``` ```bash make backend ``` ```bash make frontend ``` ```bash make dev ``` ```bash make dev-backend ``` ```bash make dev-frontend ``` -------------------------------- ### Create Initial User Account Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/configuration/cli-commands.md Create the initial user account for the system. Passwords must be at least 8 characters long. Interactive prompts use secure input. ```bash # Create initial user account ./qui create-user --username admin --password mypassword ``` ```bash # Create user with prompts (secure password input) ./qui create-user --username admin ``` ```bash # Pipe passwords for scripting (works with both commands) echo "mypassword" | ./qui create-user --username admin ``` -------------------------------- ### Reset Forgotten Password (Platform Specific) Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/configuration/cli-commands.md Reset a forgotten password using the `change-password` command. Examples are provided for Linux/macOS, Windows, and Docker environments. ```bash # Linux / macOS: ./qui change-password --username admin --new-password mynewpassword ``` ```batch # Windows (Command Prompt): qui.exe change-password --username admin --new-password mynewpassword ``` ```bash # Docker: docker exec -it qui change-password --username admin --new-password mynewpassword ``` -------------------------------- ### Build and Development Commands Source: https://github.com/autobrr/qui/blob/develop/CLAUDE.md Standard Makefile commands for compiling the frontend and backend components of the project. ```bash make build ``` ```bash make backend ``` ```bash make frontend ``` ```bash make dev ``` ```bash make dev-backend ``` ```bash make dev-frontend ``` ```bash make precommit ``` ```bash make test ``` ```bash go test -race -count=1 -v ./... ``` ```bash make test-openapi ``` -------------------------------- ### Configure Storage Directories Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/configuration/environment.md Set custom paths for runtime data and sideloaded theme files. ```bash QUI__DATA_DIR=... # Optional: custom runtime data directory (default: next to config) ``` ```bash QUI__CUSTOM_THEMES_DIR=... # Optional: directory for sideloaded custom theme .css files (default: /themes) ``` -------------------------------- ### Configure autobrr Webhook Payload Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/features/cross-seed/season-packs.md JSON payload for the autobrr external filter to check season packs. Use the first example to target specific instances or the second to search all. ```json { "torrentName": {{ toRawJson .TorrentName }}, "instanceIds": [1], "indexer": {{ toRawJson .Indexer }} } ``` ```json { "torrentName": {{ toRawJson .TorrentName }}, "indexer": {{ toRawJson .Indexer }} } ``` -------------------------------- ### Create Program Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/features/external-programs.md Creates a new external program configuration. ```APIDOC ## POST /api/external-programs ### Description Creates a new external program. ### Method POST ### Endpoint /api/external-programs ``` -------------------------------- ### Enable trace logging Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/features/cross-seed/troubleshooting.md Set the log level to TRACE to view detailed rejection reasons for releases. ```toml loglevel = 'TRACE' ``` -------------------------------- ### Run project test suites Source: https://github.com/autobrr/qui/blob/develop/CONTRIBUTING.md Commands to execute backend and frontend test suites locally. ```bash make test ``` ```bash make test-frontend ``` ```bash cd web && pnpm test:watch ``` ```bash cd web && pnpm test:coverage ``` -------------------------------- ### Docker Compose Configuration Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/getting-started/docker.md Use this YAML file to set up qui with Docker Compose. It defines the services, networks, and volumes required for the application. ```yaml services: qui: image: ghcr.io/autobrr/qui:latest container_name: qui ports: - "7476:7476" volumes: - ./config:/config restart: unless-stopped ``` -------------------------------- ### Deploy qui with Docker Source: https://github.com/autobrr/qui/blob/develop/README.md Runs the qui container with a local configuration volume mapped to port 7476. ```bash docker run -d \ -p 7476:7476 \ -v $(pwd)/config:/config \ ghcr.io/autobrr/qui:latest ``` -------------------------------- ### Extract qui Binary Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/getting-started/installation.md Extracts the downloaded qui binary to the specified directory. It is recommended to extract to `/usr/local/bin` for system-wide access. If you lack root privileges, extract to a directory in your home folder like `~/.bin`. ```bash tar -C /usr/local/bin -xzf qui*.tar.gz ``` -------------------------------- ### User Management with Custom Directories Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/configuration/cli-commands.md User management commands support specifying custom configuration and data directories for flexibility. ```bash # All commands support custom config/data directories ./qui create-user --config-dir /path/to/config/ --username admin ``` -------------------------------- ### Making Authenticated API Requests Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/api/overview.md Use this command to make authenticated requests to the qui API. Include your API key in the `X-API-Key` header. API keys are sensitive and should be kept secure. ```bash curl -H "X-API-Key: YOUR_API_KEY_HERE" \ http://localhost:7476/api/instances ``` -------------------------------- ### Enable Metrics via Environment Variables Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/advanced/metrics.md Enable Prometheus metrics and configure host, port, and optional basic authentication using environment variables. ```bash QUI__METRICS_ENABLED=true QUI__METRICS_HOST=0.0.0.0 # Optional: bind to all interfaces if needed QUI__METRICS_PORT=9074 # Optional: custom port QUI__METRICS_BASIC_AUTH_USERS="user:$2y$10$hash" # Optional: basic auth ``` -------------------------------- ### Enable Metrics via Config File Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/advanced/metrics.md Enable Prometheus metrics and configure host and port in the `config.toml` file. Basic authentication is optional. ```toml metricsEnabled = true metricsHost = "127.0.0.1" # Bind to localhost only (recommended for security) metricsPort = 9074 # Standard Prometheus port range # metricsBasicAuthUsers = "user:$2y$10$bcrypt_hash_here" # Optional: basic auth ``` -------------------------------- ### Define a custom theme with metadata and CSS variables Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/features/custom-themes.md Use a metadata header to name the theme and define :root and .dark blocks to set light and dark mode colors. ```css /* @name: Ocean * @description: A calm blue theme * @lightOnly: false */ :root { --background: oklch(0.98 0.01 250); --foreground: oklch(0.2 0.02 250); --primary: oklch(0.55 0.15 250); --secondary: oklch(0.9 0.03 250); --accent: oklch(0.7 0.12 200); /* ...the remaining design tokens... */ } .dark { --background: oklch(0.18 0.02 250); --foreground: oklch(0.95 0.01 250); --primary: oklch(0.65 0.15 250); --secondary: oklch(0.3 0.03 250); --accent: oklch(0.6 0.12 200); /* ... */ } ``` -------------------------------- ### Preload Icons with JSON Source: https://github.com/autobrr/qui/blob/develop/documentation/docs/features/tracker-icons.md Provide a JSON file at `tracker-icons/preload.json` mapping tracker hostnames to data URLs for icons. This allows preloading a bundle of icons on startup. ```json { "tracker.example.org": "data:image/png;base64,AAA...", "www.tracker.org": "data:image/png;base64,BBB..." } ``` -------------------------------- ### Deploy qui with macOS Container Source: https://github.com/autobrr/qui/blob/develop/README.md Runs the qui container on macOS with mapped configuration and download directories. ```bash container run -d \ -p 7476:7476 \ -v $(pwd)/config:/config \ -v $(pwd)/downloads:/downloads \ ghcr.io/autobrr/qui:latest ```