Skip to content

Commit b5dce57

Browse files
committed
feat: migrate qbittorrent to LinuxServer image
- Switch from custom NordVPN image to official LinuxServer image - Remove NordVPN integration and related templates: - Delete secret.yaml and NOTES.txt templates - Remove NordVPN environment variables and configuration - Remove NET_ADMIN/NET_RAW capabilities - Update to LinuxServer environment variables: - Add PUID/PGID for user management - Change QBITTORRENT_PORT to WEBUI_PORT - Simplify deployment with standard qBittorrent setup - Update chart version: 0.2.0 → 0.3.0 - Update README with new description - Add testing values file for LinuxServer deployment
1 parent 55d8cd7 commit b5dce57

7 files changed

Lines changed: 102 additions & 149 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ helm repo update
2525
| **jellyseerr** | Media request and discovery tool for Jellyfin and Plex servers | 0.1.0 | latest |
2626
| **pihole** | Network-wide DNS ad-blocker with DNSCrypt-proxy integration | Latest | 2025.08.0 |
2727
| **prowlarr** | Centralized indexer manager for all *arr applications | 0.1.2 | latest |
28-
| **qbittorrent** | Secure BitTorrent client with integrated NordVPN for safe downloading | 0.2.0 | 5.1.2 |
28+
| **qbittorrent** | BitTorrent client using LinuxServer image for reliable downloading | 0.3.0 | latest |
2929
| **radarr** | Movie collection manager with simplified media volume configuration | 0.2.2 | latest |
3030
| **sonarr** | TV series collection manager with automated episode monitoring | 0.1.2 | latest |
3131

charts/qbittorrent/Chart.yaml

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,17 @@
11
apiVersion: v2
22
name: qbittorrent
3-
description: A Helm chart for qBittorrent with integrated NordVPN for secure torrenting
3+
description: A Helm chart for qBittorrent BitTorrent client using LinuxServer image
44
type: application
5-
version: 0.2.0
6-
appVersion: "5.1.2"
5+
version: 0.3.0
6+
appVersion: "latest"
77

88
keywords:
99
- qbittorrent
1010
- torrent
1111
- bittorrent
1212
- download
1313
- client
14-
- vpn
15-
- nordvpn
16-
- privacy
17-
- security
14+
- linuxserver
1815

1916
maintainers:
2017
- name: Barbaro Javier

charts/qbittorrent/templates/NOTES.txt

Lines changed: 0 additions & 77 deletions
This file was deleted.

charts/qbittorrent/templates/deployment.yaml

Lines changed: 7 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -20,66 +20,40 @@ spec:
2020
{{- end }}
2121
serviceAccountName: {{ include "qbittorrent.serviceAccountName" . }}
2222
containers:
23-
# Main qBittorrent + NordVPN Container
23+
# Main qBittorrent Container
2424
- name: qbittorrent
25-
securityContext:
26-
capabilities:
27-
add:
28-
- NET_ADMIN
29-
- NET_RAW
3025
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
3126
imagePullPolicy: {{ .Values.image.pullPolicy }}
3227
ports:
3328
- name: webui
34-
containerPort: {{ .Values.env.QBITTORRENT_PORT }}
29+
containerPort: {{ .Values.env.WEBUI_PORT }}
3530
- name: torrenting-tcp
3631
containerPort: 6881
3732
protocol: TCP
3833
- name: torrenting-udp
3934
containerPort: 6881
4035
protocol: UDP
4136
env:
42-
- name: NORDVPN_TOKEN
43-
{{- if .Values.nordvpn.credentialsSecret.name }}
44-
valueFrom:
45-
secretKeyRef:
46-
name: {{ .Values.nordvpn.credentialsSecret.name }}
47-
key: {{ .Values.nordvpn.credentialsSecret.tokenKey }}
48-
{{- else }}
49-
value: {{ .Values.nordvpn.token | quote }}
50-
{{- end }}
51-
- name: NORDVPN_COUNTRY
52-
value: {{ .Values.nordvpn.country | quote }}
53-
- name: NORDVPN_GROUP
54-
value: {{ .Values.nordvpn.group | quote }}
55-
- name: NORDVPN_PROTOCOL
56-
value: {{ .Values.nordvpn.protocol | quote }}
57-
- name: QBITTORRENT_PORT
58-
value: {{ .Values.env.QBITTORRENT_PORT | quote }}
59-
- name: QBITTORRENT_USERNAME
60-
value: {{ .Values.env.QBITTORRENT_USERNAME | quote }}
61-
{{- if .Values.env.QBITTORRENT_PASSWORD }}
62-
- name: QBITTORRENT_PASSWORD
63-
value: {{ .Values.env.QBITTORRENT_PASSWORD | quote }}
37+
{{- range $key, $value := .Values.env }}
38+
- name: {{ $key }}
39+
value: {{ $value | quote }}
6440
{{- end }}
65-
- name: TZ
66-
value: {{ .Values.env.TZ | quote }}
6741
{{- with .Values.resources }}
6842
resources:
6943
{{- toYaml . | nindent 10 }}
7044
{{- end }}
7145
livenessProbe:
7246
httpGet:
7347
path: /
74-
port: {{ .Values.env.QBITTORRENT_PORT }}
48+
port: {{ .Values.env.WEBUI_PORT }}
7549
initialDelaySeconds: 60
7650
periodSeconds: 30
7751
timeoutSeconds: 5
7852
failureThreshold: 3
7953
readinessProbe:
8054
httpGet:
8155
path: /
82-
port: {{ .Values.env.QBITTORRENT_PORT }}
56+
port: {{ .Values.env.WEBUI_PORT }}
8357
initialDelaySeconds: 30
8458
periodSeconds: 10
8559
timeoutSeconds: 5

charts/qbittorrent/templates/secret.yaml

Lines changed: 0 additions & 11 deletions
This file was deleted.

charts/qbittorrent/values.yaml

Lines changed: 5 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -6,31 +6,16 @@ fullnameOverride: ""
66
replicaCount: 1
77

88
image:
9-
repository: ghcr.io/barbar0jav1er/qbittorrent-nordvpn-docker
9+
repository: lscr.io/linuxserver/qbittorrent
1010
tag: latest
1111
pullPolicy: IfNotPresent
1212

1313
env:
14-
14+
# LinuxServer qBittorrent environment variables
15+
PUID: "1000"
16+
PGID: "1000"
1517
TZ: "UTC"
16-
QBITTORRENT_PORT: "8080"
17-
QBITTORRENT_USERNAME: "admin"
18-
QBITTORRENT_PASSWORD: ""
19-
20-
# NordVPN Configuration
21-
nordvpn:
22-
# NordVPN token (get from: https://my.nordaccount.com/dashboard/nordvpn/)
23-
token: ""
24-
25-
# Server Selection
26-
country: "US"
27-
group: "P2P"
28-
protocol: "udp"
29-
30-
# Alternatively, use an existing secret
31-
credentialsSecret:
32-
name: ""
33-
tokenKey: "nordvpn-token"
18+
WEBUI_PORT: "8080"
3419

3520
service:
3621
webui:

qbittorrent-values.yaml

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
# qBittorrent Values for Testing
2+
# BitTorrent client using LinuxServer image
3+
4+
nameOverride: ""
5+
fullnameOverride: ""
6+
7+
replicaCount: 1
8+
9+
image:
10+
repository: lscr.io/linuxserver/qbittorrent
11+
tag: latest
12+
pullPolicy: IfNotPresent
13+
14+
env:
15+
# LinuxServer qBittorrent environment variables
16+
PUID: "1000"
17+
PGID: "1000"
18+
TZ: "America/Havana"
19+
WEBUI_PORT: "8080"
20+
21+
service:
22+
webui:
23+
enabled: true
24+
type: ClusterIP
25+
port: 8080
26+
torrenting:
27+
enabled: true
28+
type: LoadBalancer
29+
port: 6881
30+
31+
ingress:
32+
enabled: true
33+
className: ""
34+
annotations:
35+
cert-manager.io/cluster-issuer: "letsencrypt-staging"
36+
traefik.ingress.kubernetes.io/router.entrypoints: "web,websecure"
37+
host: qbittorrent.dev.cubancodelab.net
38+
path: /
39+
tls:
40+
enabled: false
41+
secretName: qbittorrent-tls
42+
43+
persistence:
44+
config:
45+
enabled: true
46+
storageClass: "nfs-ssd-fast"
47+
accessMode: ReadWriteOnce
48+
size: 5Gi
49+
50+
downloads:
51+
enabled: true
52+
storageClass: "nfs-ssd-fast"
53+
accessMode: ReadWriteOnce
54+
size: 100Gi
55+
56+
podSecurityContext:
57+
fsGroup: 1000
58+
59+
securityContext:
60+
runAsUser: 1000
61+
runAsGroup: 1000
62+
runAsNonRoot: true
63+
64+
resources:
65+
limits:
66+
cpu: 2000m
67+
memory: 2Gi
68+
requests:
69+
cpu: 500m
70+
memory: 512Mi
71+
72+
nodeSelector: {}
73+
tolerations: []
74+
affinity: {}
75+
76+
podAnnotations: {}
77+
78+
serviceAccount:
79+
create: true
80+
annotations: {}
81+
name: ""
82+
83+
podDisruptionBudget:
84+
enabled: false
85+
minAvailable: 1

0 commit comments

Comments
 (0)