Download Client¶
qBittorrent¶
The qBittorrent charm (qbittorrent-k8s) manages qBittorrent in your Charmarr stack. qBittorrent is a torrent client that downloads files via BitTorrent.
Relations¶
The charm talks to other charms to figure out how to set everything up. The order in which these connections happen doesn't matter. The charm sorts it out.
| Connects To | Interface | What It Learns |
|---|---|---|
| Storage | media-storage |
Where to save downloads (/data), UID/GID for file permissions |
| Radarr/Sonarr | download-client |
Which media managers need download categories |
| VPN Gateway | vpn-gateway |
VPN routing |
| Ingress | istio_ingress_route |
Enables external access |
The charm creates download categories automatically based on connected media managers. For example, if you have radarr and sonarr-4k connected, qBittorrent gets categories named radarr and sonarr-4k with appropriate save paths.
Credentials are generated automatically and stored as Juju secrets. They rotate periodically if configured.
Lifecycle¶
sequenceDiagram
participant Storage
participant QC as qBittorrent Charm
participant QB as qBittorrent App
participant RC as Radarr/Sonarr
QC->>Storage: Where's the storage?
Storage-->>QC: /data + UID/GID
Note over QC: Waits if no reply
QC->>QC: Create credentials
QC->>QB: Start
QB-->>QC: Ready
Note over QC: Waits if no reply
QC-->>RC: Here's my connection info
RC-->>QC: Here's our instance names
QC->>QB: Create categories (radarr, sonarr, etc.)
Configuration¶
See qbittorrent-k8s on Charmhub for all options.
SABnzbd¶
The SABnzbd charm (sabnzbd-k8s) manages SABnzbd in your Charmarr stack. SABnzbd is a usenet client that downloads files via Usenet (NZB).
Relations¶
The charm talks to other charms to figure out how to set everything up. The order in which these connections happen doesn't matter. The charm sorts it out.
| Connects To | Interface | What It Learns |
|---|---|---|
| Storage | media-storage |
Where to save downloads (/data), UID/GID for file permissions |
| Radarr/Sonarr | download-client |
Which media managers need download categories |
| VPN Gateway | vpn-gateway |
VPN routing |
| Ingress | istio_ingress_route |
Enables external access |
Like qBittorrent, SABnzbd gets categories automatically based on connected media managers.
An API key is generated automatically and stored as a Juju secret. It rotates periodically if configured.
Lifecycle¶
sequenceDiagram
participant Storage
participant NC as SABnzbd Charm
participant SAB as SABnzbd App
participant RC as Radarr/Sonarr
NC->>Storage: Where's the storage?
Storage-->>NC: /data + UID/GID
Note over NC: Waits if no reply
NC->>NC: Create API key
NC->>SAB: Start
SAB-->>NC: Ready
Note over NC: Waits if no reply
NC-->>RC: Here's my connection info
RC-->>NC: Here's our instance names
NC->>SAB: Create categories (radarr, sonarr, etc.)
Configuration¶
See sabnzbd-k8s on Charmhub for all options.