From f41950943b8743a7a7c35014cf8ae78a355c74bb Mon Sep 17 00:00:00 2001 From: aggarwalakshun Date: Sat, 27 Dec 2025 21:21:43 +0530 Subject: [PATCH] add qbittorrent manifests --- .../qbittorrent/qbittorrent-ingress.yml | 27 ++++++++ .../arr-stack/qbittorrent/qbittorrent-pvc.yml | 14 +++++ .../arr-stack/qbittorrent/qbittorrent-svc.yml | 12 ++++ .../arr-stack/qbittorrent/qbittorrent.yml | 63 +++++++++++++++++++ 4 files changed, 116 insertions(+) create mode 100644 clusters/ipv6/arr-stack/qbittorrent/qbittorrent-ingress.yml create mode 100644 clusters/ipv6/arr-stack/qbittorrent/qbittorrent-pvc.yml create mode 100644 clusters/ipv6/arr-stack/qbittorrent/qbittorrent-svc.yml create mode 100644 clusters/ipv6/arr-stack/qbittorrent/qbittorrent.yml diff --git a/clusters/ipv6/arr-stack/qbittorrent/qbittorrent-ingress.yml b/clusters/ipv6/arr-stack/qbittorrent/qbittorrent-ingress.yml new file mode 100644 index 0000000..a117823 --- /dev/null +++ b/clusters/ipv6/arr-stack/qbittorrent/qbittorrent-ingress.yml @@ -0,0 +1,27 @@ +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: qbittorrent-ingress + namespace: arr-stack + annotations: + cert-manager.io/cluster-issuer: letsencrypt-cloudflare + traefik.ingress.kubernetes.io/router.middlewares: tools-authelia@kubernetescrd + traefik.ingress.kubernetes.io/router.entrypoints: websecure +spec: + ingressClassName: traefik + tls: + - hosts: + - qbittorrent.akshun-lab.cc + secretName: qbittorrent-tls + rules: + - host: qbittorrent.akshun-lab.cc + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: qbittorrent-service + port: + number: 8080 diff --git a/clusters/ipv6/arr-stack/qbittorrent/qbittorrent-pvc.yml b/clusters/ipv6/arr-stack/qbittorrent/qbittorrent-pvc.yml new file mode 100644 index 0000000..2439aa8 --- /dev/null +++ b/clusters/ipv6/arr-stack/qbittorrent/qbittorrent-pvc.yml @@ -0,0 +1,14 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: qbittorrent-longhorn + namespace: arr-stack +spec: + accessModes: + - ReadWriteOnce + volumeMode: Filesystem + resources: + requests: + storage: 1Gi + storageClassName: longhorn diff --git a/clusters/ipv6/arr-stack/qbittorrent/qbittorrent-svc.yml b/clusters/ipv6/arr-stack/qbittorrent/qbittorrent-svc.yml new file mode 100644 index 0000000..9ea8811 --- /dev/null +++ b/clusters/ipv6/arr-stack/qbittorrent/qbittorrent-svc.yml @@ -0,0 +1,12 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: qbittorrent-service + namespace: arr-stack +spec: + selector: + app: qbittorrent + ports: + - port: 8080 + targetPort: 8080 diff --git a/clusters/ipv6/arr-stack/qbittorrent/qbittorrent.yml b/clusters/ipv6/arr-stack/qbittorrent/qbittorrent.yml new file mode 100644 index 0000000..0946be0 --- /dev/null +++ b/clusters/ipv6/arr-stack/qbittorrent/qbittorrent.yml @@ -0,0 +1,63 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: qbittorrent + namespace: arr-stack +spec: + strategy: + type: Recreate + replicas: 1 + selector: + matchLabels: + app: qbittorrent + template: + metadata: + labels: + app: qbittorrent + spec: + initContainers: + - name: gluetun + image: qmcgaw/gluetun:v3.41.0 + restartPolicy: Always + securityContext: + capabilities: + add: + - NET_ADMIN + envFrom: + - configMapRef: + name: gluetun-config + env: + - name: OPENVPN_PASSWORD + valueFrom: + secretKeyRef: + name: openvpn-secrets + key: OPENVPN_PASSWORD + - name: OPENVPN_USER + valueFrom: + secretKeyRef: + name: openvpn-secrets + key: OPENVPN_USER + containers: + - name: qbittorrent + image: linuxserver/qbittorrent:5.1.4 + env: + - name: PUID + value: "1000" + - name: PGID + value: "1000" + - name: TZ + value: "Asia/Kolkata" + volumeMounts: + - name: downloads + mountPath: /downloads + - name: config + mountPath: /config + volumes: + - name: config + persistentVolumeClaim: + claimName: qbittorrent-longhorn + - name: downloads + nfs: + server: 192.168.1.4 + path: /merge/downloads