Skip to content

feat(Qui): add Qui — modern qBittorrent web manager with cross-seeding#960

Open
yesrab wants to merge 3 commits into
IceWhaleTech:mainfrom
yesrab:add/qui
Open

feat(Qui): add Qui — modern qBittorrent web manager with cross-seeding#960
yesrab wants to merge 3 commits into
IceWhaleTech:mainfrom
yesrab:add/qui

Conversation

@yesrab

@yesrab yesrab commented Jun 27, 2026

Copy link
Copy Markdown
Contributor

Add Qui — modern qBittorrent web manager with cross-seeding

Summary

This PR adds a new app, Qui (autobrr/qui), under Apps/Qui/.

Qui is a fast, modern web interface for qBittorrent. It connects and manages multiple
qBittorrent instances from a single dashboard, and adds rule-based automation, built-in
cross-seeding across Torznab-compatible indexers (e.g. Prowlarr / Jackett), and
scheduled backups. It ships as a lightweight single binary.

App ID org.icewhale.qui
Category Media
Image ghcr.io/autobrr/qui:v1.21.0 (pinned)
Default port 7476 (HTTP)
Database PostgreSQL (postgres:16-alpine), deployed automatically

What changed

New app directory Apps/Qui/:

  • docker-compose.yml — Qui + PostgreSQL on a dedicated bridge network
  • icon.svg, icon.png
  • screenshot-1.png, screenshot-2.png, screenshot-3.png
  • thumbnail.png

Compose / metadata notes:

  • name: qui (lowercase, unique app id)
  • Required x-casaos.app_id: org.icewhale.qui (reverse-domain notation)
  • Top-level x-casaos follows the CONTRIBUTING field-grouping order
    (access entry → display → metadata → version → links)
  • author: CasaOS Team (store-side) / developer: autobrr (upstream)
  • i18n: en_US + zh_CN for description, tagline, tips, release_notes
  • Pinned image tags (no latest); PostgreSQL credentials/DSN supplied via env

Compliance with CONTRIBUTING

  • Valid YAML
  • No latest image tags
  • Top-level name is the unique app id
  • container_name matches the service name (qui)
  • x-casaos field grouping order followed
  • i18n blocks include at least en_US
  • App dir includes compose, an icon, and at least one screenshot

Testing

  • Installed on a local ZimaOS instance: the app starts, the Web UI is reachable on
    port 7476, and the PostgreSQL backend connects.
  • scripts/build_appstore.py parses the app without errors: app_id validates as
    reverse-domain, version: 1.21.0 is valid semver, and the category normalizes to media.

First-run notes

  1. Open the Web UI at http://<zima-ip>:7476.
  2. Create the administrator account on the setup screen.
  3. Add one or more qBittorrent instances to start managing them.
  4. Point Qui at your Torznab indexers (Prowlarr / Jackett) to enable cross-seeding.

@sonarqubecloud

Copy link
Copy Markdown

@yesrab

yesrab commented Jun 27, 2026

Copy link
Copy Markdown
Contributor Author

validator failing in etherpad?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants