apiVersion: apps/v1 kind: Deployment metadata: name: qbittorrent labels: app: qbittorrent spec: replicas: 1 selector: matchLabels: app: qbittorrent template: metadata: labels: app: qbittorrent spec: containers: - name: qbittorrent image: lscr.io/linuxserver/qbittorrent:latest ports: - containerPort: 6880 # Web UI - containerPort: 6881 # Torrenting (TCP) env: - name: PUID value: "1000" - name: PGID value: "1000" - name: TZ value: "Etc/UTC" - name: WEBUI_PORT value: "6880" - name: TORRENTING_PORT value: "6881" volumeMounts: - name: config mountPath: /config - name: downloads mountPath: /downloads volumes: - name: config persistentVolumeClaim: claimName: qbittorrent-config - name: downloads persistentVolumeClaim: claimName: qbittorrent-downloads --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: qbittorrent-config labels: app: qbittorrent spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi storageClassName: standard --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: qbittorrent-downloads labels: app: qbittorrent spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi storageClassName: standard --- apiVersion: v1 kind: Service metadata: name: qbittorrent labels: app: qbittorrent spec: type: NodePort ports: - port: 6880 targetPort: 6880 protocol: TCP name: webui - port: 6881 targetPort: 6881 protocol: TCP name: torrenting-tcp - port: 6881 targetPort: 6881 protocol: UDP name: torrenting-udp selector: app: qbittorrent