diff --git a/blueprints/qbitwebui/docker-compose.yml b/blueprints/qbitwebui/docker-compose.yml new file mode 100644 index 00000000..3e805c3c --- /dev/null +++ b/blueprints/qbitwebui/docker-compose.yml @@ -0,0 +1,39 @@ +version: "3.8" + +services: + qbitwebui: + image: ghcr.io/maciejonos/qbitwebui:latest + restart: unless-stopped + environment: + # Required: Encryption key for storing credentials (min 32 chars) + - ENCRYPTION_KEY=${ENCRYPTION_KEY} + # Optional: Server port (default: 3000) + - PORT=${PORT:-3000} + # Optional: Database location (default: ./data/qbitwebui.db) + - DATABASE_PATH=${DATABASE_PATH:-/data/qbitwebui.db} + # Optional: Salt file location (default: ./data/.salt) + - SALT_PATH=${SALT_PATH:-/data/.salt} + # Optional: Allow self-signed certificates for qBittorrent instances (default: false) + # - ALLOW_SELF_SIGNED_CERTS=${ALLOW_SELF_SIGNED_CERTS:-false} + # Optional: Disable authentication/login (single-user mode) (default: false) + # - DISABLE_AUTH=${DISABLE_AUTH:-false} + # Optional: Disable new registrations, creates default admin account (default: false) + # - DISABLE_REGISTRATION=${DISABLE_REGISTRATION:-false} + # Optional: Enable file browser by setting downloads path + # - DOWNLOADS_PATH=/downloads + volumes: + - qbitwebui_data:/data + # Optional: Mount downloads directory for file browser feature + # Read-only mount (browse & download only): + # - /path/to/your/downloads:/downloads:ro + # Or read-write mount (enables delete/move/copy/rename): + # - /path/to/your/downloads:/downloads + healthcheck: + test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3000"] + interval: 30s + timeout: 5s + retries: 3 + start_period: 10s + +volumes: + qbitwebui_data: diff --git a/blueprints/qbitwebui/qbitwebui.png b/blueprints/qbitwebui/qbitwebui.png new file mode 100644 index 00000000..48052dff Binary files /dev/null and b/blueprints/qbitwebui/qbitwebui.png differ diff --git a/blueprints/qbitwebui/template.toml b/blueprints/qbitwebui/template.toml new file mode 100644 index 00000000..62151ba2 --- /dev/null +++ b/blueprints/qbitwebui/template.toml @@ -0,0 +1,16 @@ +[variables] +main_domain = "${domain}" +encryption_key = "${password:32}" + +[config] +[[config.domains]] +serviceName = "qbitwebui" +port = 3000 +host = "${main_domain}" +path = "/" + +[config.env] +ENCRYPTION_KEY = "${encryption_key}" +PORT = "3000" +DATABASE_PATH = "/data/qbitwebui.db" +SALT_PATH = "/data/.salt" diff --git a/meta.json b/meta.json index 92ea3de2..c8c7eccb 100644 --- a/meta.json +++ b/meta.json @@ -5188,6 +5188,24 @@ "file-sharing" ] }, + { + "id": "qbitwebui", + "name": "qBittorrent Web UI", + "version": "latest", + "description": "A modern web interface for managing multiple qBittorrent instances. Built with React, Hono, and Bun.", + "logo": "qbitwebui.png", + "links": { + "github": "https://github.com/Maciejonos/qbitwebui", + "website": "https://github.com/Maciejonos/qbitwebui", + "docs": "https://github.com/Maciejonos/qbitwebui#readme" + }, + "tags": [ + "torrent", + "download", + "media", + "qbittorrent" + ] + }, { "id": "qdrant", "name": "Qdrant",