Files
media-charts/qbittorrent
2025-05-10 18:03:22 +02:00
..
2025-05-10 18:03:22 +02:00
2025-05-10 17:18:15 +02:00
2025-05-10 17:18:15 +02:00
2025-05-10 17:22:01 +02:00
2025-05-10 17:22:01 +02:00

qBittorrent Helm Chart

This chart installs qBittorrent, an open-source BitTorrent client, in a Kubernetes cluster.

Prerequisites

  • Kubernetes 1.16+
  • Helm 3.1.0+
  • PV provisioner support in the underlying infrastructure

Installation

# Add this repository
helm repo add media-charts https://your-repo-url/

# Install the chart with the release name "qbittorrent"
helm install qbittorrent media-charts/qbittorrent

Configuration

The following table lists the configurable parameters for the qBittorrent chart and their default values.

Parameter Description Default
image.repository qBittorrent image repository linuxserver/qbittorrent
image.tag qBittorrent image tag latest
image.pullPolicy Image pull policy IfNotPresent
service.type Service type NodePort
service.webPort Web UI port 8080
service.btPort BitTorrent port 6881
service.webNodePort Node port for Web UI (if service.type=NodePort) 30080
service.btNodePort Node port for BitTorrent (if service.type=NodePort) 30881
persistence.config.claimName PVC name for config qbittorrent-config
persistence.media.claimName PVC name for media storage media-storage

Storage Structure

This chart uses a common media-storage persistent volume claim that can be shared across your media server applications (Sonarr, Radarr, etc.). The structure is:

/media
  ├── downloads     # Completed downloads
  ├── incomplete    # In-progress downloads
  ├── movies        # Movie library
  └── tv            # TV shows library

To configure qBittorrent to use these paths:

  1. Access the qBittorrent web UI
  2. Go to Tools > Options > Downloads
  3. Set the following paths:
    • Default Save Path: /media/downloads
    • Keep incomplete torrents in: /media/incomplete

This ensures consistency with other applications in your media server stack.

Using with MyAnonamouse (MAM)

This chart is configured with NodePort service type by default, which allows your qBittorrent instance to be directly accessible from the internet. This is necessary for private trackers like MyAnonamouse to properly connect to your client.

Setting up for MyAnonamouse

  1. Port Forwarding Setup:

    • Ensure your router is configured to forward the BitTorrent port (default: 30881) to your Kubernetes node
    • The port must be open in any firewalls between your Kubernetes cluster and the internet
  2. Client Configuration:

    • After installing qBittorrent, access the web UI
    • Go to Tools > Options > Connection
    • Set the "Port used for incoming connections" to match your service.btPort (default: 6881)
    • Verify that "Use UPnP / NAT-PMP port forwarding from my router" is checked
  3. Testing Connectivity:

    • In qBittorrent, go to Tools > Options > Connection
    • Click the "Test Port" button to verify external connectivity
    • Alternatively, use an online port checking tool with your public IP and configured port
  4. MyAnonamouse Setup:

    • Log into MyAnonamouse and visit the "Connectable" link
    • Your client should show as connectable with a green indicator
    • If it's not connectable, verify your port forwarding configuration

Security Considerations

Using NodePort exposes your qBittorrent client directly to the internet. To enhance security:

  1. Enable qBittorrent's web UI authentication (enabled by default)
  2. Consider using a VPN for additional privacy
  3. Regularly update the qBittorrent image to get security patches

Troubleshooting

If MyAnonamouse cannot connect to your client:

  1. Verify that port forwarding is correctly set up on your router
  2. Check that any firewalls (including cloud provider firewalls) allow the BitTorrent port
  3. Ensure your Kubernetes node has a public IP or is properly NAT'ed
  4. Try using a different port, as some ISPs block common BitTorrent ports