qbitwebui

qbitwebui

Docker app from grtgbln's Repository

Overview

A modern lightweight web interface for qBittorrent.
logo

A modern web interface for managing multiple qBittorrent instances

Built with React, Hono, and Bun

GitHub stars GitHub License GitHub release Docker Build

Documentation · Docker Examples · All Features

main

Mobile UI

mobile mobile-detailed

Features

See features section for more details.

  • Multi-instance - Manage multiple qBittorrent instances from one dashboard
  • Cross seed - Automatic cross seed directly in qbitwebui. (experimental)
  • Instance statistics - Overview of all instances with status, speeds, torrent counts
  • Prowlarr integration - Search indexers and send torrents directly to qBittorrent
  • Real-time monitoring - Auto-refresh torrent status, speeds, progress
  • Customizable columns - Show/hide columns, drag and drop reorder
  • Torrent management - Add via magnet/file, set priorities, manage trackers/peers
  • Organization - Filter by status, category, tag, or tracker, custom views
  • Bulk actions - Multi-select with context menu, keyboard navigation
  • Themes - Multiple color themes included
  • File browser - Browse and download files from your downloads directory
  • RSS management - Define rules, add RSS feeds, manage folders
  • Network agent - Speedtest, IP check, DNS diagnostics - setup instructions

Docker

See Docker section for all setup options.

services:
  qbitwebui:
    image: ghcr.io/mkbula/qbitwebui:latest
    ports:
      - "3000:3000"
    environment:
      # Generate your own: openssl rand -hex 32
      - ENCRYPTION_KEY=your-secret-key-here
      # Uncomment to disable login (single-user mode)
      # - DISABLE_AUTH=true
      # Uncomment to disable registration (creates default admin account)
      # - DISABLE_REGISTRATION=true
      # Uncomment to allow HTTPS with self-signed certificates
      # - ALLOW_SELF_SIGNED_CERTS=true
      # Uncomment to enable file browser
      # - DOWNLOADS_PATH=/downloads
    volumes:
      - ./data:/data
      # Uncomment to enable file browser (read-only: browse & download only)
      # - /path/to/your/downloads:/downloads:ro
      # Or mount read-write to enable delete/move/copy/rename
      # - /path/to/your/downloads:/downloads
    restart: unless-stopped

Development

export ENCRYPTION_KEY=$(openssl rand -hex 32)

bun install
bun run dev

Tech Stack

React 19, TypeScript, Tailwind CSS v4, Vite, TanStack Query, Hono, SQLite, Bun

Star History

Star History Chart

Credits

Big thanks to cross-seed. A huge chunk of Qbitwebui cross seed implementation is basically taken from cross-seed directly, or ported and slightly adjusted. Qbitwebui is of course in no way associated or endorsed by cross-seed.

I highly recommend to check cross-seed out, if you want something very reliable.

License

MIT

Install Qbitwebui on Unraid in a few clicks.

Find Qbitwebui in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for Qbitwebui Review the template variables and paths Click Install

Requirements


        Requires a separate qBittorrent instance.
    

Details

Repository
ghcr.io/maciejonos/qbitwebui:latest
Last Updated2026-07-17
First Seen2026-01-03

Runtime arguments

Web UI
http://[IP]:[PORT:80]/
Network
bridge
Privileged
false

Template configuration

Web UI PortPorttcp

Container Port: 80

Target
80
Default
8081
Value
8081
qBittorrent URLVariable

The URL of the qBittorrent instance (e.g., http://IP_ADDRESS:8080)

Target
QBITTORRENT_URL
Default
http://IP_ADDRESS:8080
Value
http://IP_ADDRESS:8080