Add qui A fast, modern web interface for qBittorrent. Manage multiple qBittorrent instances from a single, lightweight application built by autobrr#825
Conversation
qui is a fast, modern web interface for qBittorrent by autobrr, allowing management of multiple qBittorrent instances from a single, lightweight self-hosted application. - docker-compose.yml: pinned ghcr.io/autobrr/qui:1.17.0, exposes 7476 internally (no host port; Dokploy's Traefik handles routing), persistent named volume for /config. - template.toml: maps the qui service port 7476 to the user-supplied domain so Dokploy's Traefik can proxy it. - meta.json: register the template with logo and tags.
ghcr.io/autobrr/qui has no v1.17.0 tag published; only 'latest' and PR/dev tags are available. Switch the image and meta.json version to 'latest' so the template actually deploys.
The previous commit accidentally removed a pre-existing duplicate strapi entry as a side effect of running process-meta. That entry exists upstream and is unrelated to the qui template; restore it verbatim.
built with Refined Cloudflare Pages Action⚡ Cloudflare Pages Deployment
|
|
|
||
| services: | ||
| qui: | ||
| image: ghcr.io/autobrr/qui:latest |
There was a problem hiding this comment.
Docker image not pinned to a specific version
Using :latest is explicitly discouraged by this repo's guidelines. It prevents reproducible deployments and creates a supply chain risk — a compromised or breaking upstream release will silently affect all existing Dokploy instances. Pin the image to a specific release tag (e.g., ghcr.io/autobrr/qui:v0.x.y) and update version in meta.json to match.
| { | ||
| "id": "qui", | ||
| "name": "qui", | ||
| "version": "latest", |
The upstream meta.json had a pre-existing duplicate strapi entry. Remove it so dedupe-and-sort produces identical output to the committed file, satisfying the validate-meta CI check.
There was a problem hiding this comment.
Pull request overview
Adds a new Dokploy blueprint for qui (autobrr’s lightweight multi-instance qBittorrent web UI) by introducing its compose/template configuration and registering it in the central meta.json index.
Changes:
- Add
blueprints/qui/docker-compose.ymlto deploy qui with a persistent config volume. - Add
blueprints/qui/template.tomlto map a domain to the qui service on port 7476. - Add a
quientry tometa.json(metadata, links, tags, logo).
Reviewed changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| meta.json | Registers the new qui template in the template catalog. |
| blueprints/qui/template.toml | Adds domain routing configuration for the qui service. |
| blueprints/qui/docker-compose.yml | Defines the qui service and persistent storage volume. |
| { | ||
| "id": "qui", | ||
| "name": "qui", | ||
| "version": "latest", |
There was a problem hiding this comment.
The template is using a floating latest version in meta.json. For reproducible deployments and to avoid breaking changes when upstream releases, consider pinning this to a specific qui release and keeping it in sync with the Docker image tag used in the compose file.
| "version": "latest", | |
| "version": "1.0.0", |
|
|
||
| services: | ||
| qui: | ||
| image: ghcr.io/autobrr/qui:latest |
There was a problem hiding this comment.
The Docker image tag is set to :latest, which makes deployments non-deterministic and can break unexpectedly when the upstream image changes. Prefer pinning to a specific, known-good release tag (and align meta.json's version with it).
| image: ghcr.io/autobrr/qui:latest | |
| image: ghcr.io/autobrr/qui:v1.0.0 |
There was a problem hiding this comment.
They don't have any specific release tags.
| { | ||
| "id": "qui", | ||
| "name": "qui", | ||
| "version": "latest", | ||
| "description": "A fast, modern web interface for qBittorrent. Manage multiple qBittorrent instances from a single, lightweight application built by autobrr.", | ||
| "logo": "qui.png", | ||
| "links": { | ||
| "github": "https://github.com/autobrr/qui", | ||
| "website": "https://getqui.com", | ||
| "docs": "https://getqui.com" | ||
| }, | ||
| "tags": [ | ||
| "torrent", | ||
| "qbittorrent", | ||
| "download", | ||
| "media", | ||
| "self-hosted" | ||
| ] | ||
| }, |
There was a problem hiding this comment.
The PR description checklist indicates tests were added, but this change set only adds a new blueprint and meta entry. Please either add the referenced tests or update the checklist to avoid confusion for reviewers/maintainers.
What is this PR about?
Add qui templates
Checklist
Before submitting this PR, please make sure that:
Screenshots or Videos
Greptile Summary
This PR adds a new template for qui, a web interface for managing multiple qBittorrent instances built by autobrr. The blueprint files (
docker-compose.yml,template.toml, logo) are structurally correct and follow Dokploy conventions.Previous review comments flagging the unpinned
:latestimage tag and the accidental removal of the Strapi entry frommeta.jsonremain unaddressed — both issues need to be resolved before merging.Confidence Score: 3/5
Not safe to merge — the Strapi template entry was inadvertently deleted from meta.json, and the Docker image remains unpinned to a specific version.
Two P1 issues flagged in prior review rounds remain unaddressed: (1) accidental removal of the Strapi entry from meta.json (a production-visible regression for existing users) and (2) the Docker image pinned to :latest instead of a specific release tag, violating the repo's explicit supply-chain security policy. Score is pulled below the P1 ceiling of 4 because both issues must be fixed simultaneously.
meta.json (Strapi deletion + version field), blueprints/qui/docker-compose.yml (unpinned image tag)
Comments Outside Diff (1)
meta.json, line 5971-5989 (link)The Strapi entry has been deleted from
meta.jsonin this PR, but this PR is only intended to addqui. Theblueprints/strapi/directory still exists in the repository, so removing its registry entry will make the Strapi template invisible to Dokploy users. This appears to be an inadvertent side-effect of a merge conflict or manual edit near this section of the file.Please restore the Strapi entry:
{ "id": "strapi", "name": "Strapi", "version": "v5.33.0", "description": "Open-source headless CMS to build powerful APIs with built-in content management.", "logo": "strapi.svg", "links": { "github": "https://github.com/strapi/strapi", "discord": "https://discord.com/invite/strapi", "docs": "https://docs.strapi.io", "website": "https://strapi.io" }, "tags": [ "headless", "cms", "content-management" ] }Reviews (3): Last reviewed commit: "fix(qui): replace logo with autobrr org ..." | Re-trigger Greptile
Context used: