This repository has been archived on 2026-09-03. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
haven-ops/apps/default/qbittorrent.yaml
T
ivanch 510e18e5dc fix: corrected ApplicationSet template, drop secret stubs from manifests
- appset: goTemplate, filename-based app names, .path.path IS the directory,
  exclude apps/root from the glob (v3.5 git files-generator schema)
- remove empty Secret stubs: with prune:true they would overwrite live
  secret values (openwebui, paperless, vaultwarden-admin-token, password)
- secrets stay cluster-managed, not in git
2026-08-28 16:15:08 -03:00

177 lines
3.8 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: qbittorrent
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: qbittorrent
strategy:
type: Recreate
template:
metadata:
labels:
app: qbittorrent
spec:
affinity:
nodeAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- preference:
matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- iris
weight: 100
containers:
- env:
- name: PUID
value: '1000'
- name: PGID
value: '1000'
- name: TZ
value: Etc/UTC
- name: WEBUI_PORT
value: '4300'
- name: TORRENTING_PORT
value: '6881'
image: lscr.io/linuxserver/qbittorrent:5.0.4
imagePullPolicy: Always
name: qbittorrent
ports:
- containerPort: 4300
name: webui-port
protocol: TCP
- containerPort: 6881
name: qbit-tcp
protocol: TCP
- containerPort: 6881
name: qbit-udp
protocol: UDP
resources:
limits:
cpu: '1'
memory: 512Mi
requests:
cpu: 200m
memory: 256Mi
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /config
name: qbittorrent-config
- mountPath: /nas
name: nas-storage
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
volumes:
- name: qbittorrent-config
persistentVolumeClaim:
claimName: qbittorrent-config
- name: nas-storage
nfs:
path: /export/Storage
server: 192.168.15.99
status:
availableReplicas: 1
conditions:
- lastTransitionTime: '2026-05-19T01:51:48Z'
lastUpdateTime: '2026-07-22T10:14:39Z'
message: ReplicaSet "qbittorrent-56dbf5f6c" has successfully progressed.
reason: NewReplicaSetAvailable
status: 'True'
type: Progressing
- lastTransitionTime: '2026-08-28T06:04:17Z'
lastUpdateTime: '2026-08-28T06:04:17Z'
message: Deployment has minimum availability.
reason: MinimumReplicasAvailable
status: 'True'
type: Available
observedGeneration: 100
readyReplicas: 1
replicas: 1
terminatingReplicas: 0
updatedReplicas: 1
---
apiVersion: v1
kind: Service
metadata:
name: qbittorrent
namespace: default
spec:
externalTrafficPolicy: Cluster
internalTrafficPolicy: Cluster
ipFamilies:
- IPv4
ipFamilyPolicy: SingleStack
ports:
- name: webui
nodePort: 30948
port: 4300
protocol: TCP
targetPort: webui-port
- name: torrent-tcp
nodePort: 30183
port: 6881
protocol: TCP
targetPort: qbit-tcp
- name: torrent-udp
nodePort: 30183
port: 6881
protocol: UDP
targetPort: qbit-udp
selector:
app: qbittorrent
sessionAffinity: None
type: NodePort
status:
loadBalancer: {}
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: qbittorrent
namespace: default
spec:
ingressClassName: nginx
rules:
- host: qbittorrent.haven
http:
paths:
- backend:
service:
name: qbittorrent
port:
number: 4300
path: /
pathType: Prefix
status:
loadBalancer:
ingress:
- ip: 192.168.20.204
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: qbittorrent-config
namespace: default
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: nfs-client
volumeMode: Filesystem
status:
accessModes:
- ReadWriteOnce
capacity:
storage: 1Gi
phase: Bound