--- # yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2beta2.schema.json apiVersion: helm.toolkit.fluxcd.io/v2beta2 kind: HelmRelease metadata: name: qbittorrent spec: interval: 30m chart: spec: chart: app-template version: 3.1.0 interval: 30m sourceRef: kind: HelmRepository name: bjw-s namespace: flux-system install: remediation: retries: 3 upgrade: cleanupOnFail: true remediation: retries: 3 strategy: rollback values: controllers: qbittorrent: annotations: configmap.reloader.stakater.com/reload: qbittorrent-scripts secret.reloader.stakater.com/reload: qbittorrent-secret pod: securityContext: fsGroup: 568 fsGroupChangePolicy: "OnRootMismatch" containers: app: nameOverride: qbittorrent image: repository: ghcr.io/onedr0p/qbittorrent tag: 4.6.5@sha256:c019af23966ebafcaf1713d4553bc043246858b711a7d57d8bee358a89990a3e env: UMASK: "022" QBITTORRENT__PORT: &port 8080 QBT_Preferences__WebUI__AlternativeUIEnabled: false QBT_Preferences__WebUI__AuthSubnetWhitelistEnabled: true QBT_Preferences__WebUI__AuthSubnetWhitelist: |- 10.244.0.0/16, 10.1.2.0/24 QBT_Preferences__WebUI__LocalHostAuth: false QBT_BitTorrent__Session__Interface: wg0 QBT_BitTorrent__Session__InterfaceName: wg0 resources: requests: cpu: 49m memory: 1024Mi limits: memory: 24Gi securityContext: runAsUser: 568 runAsGroup: 568 runAsNonRoot: true allowPrivilegeEscalation: false readOnlyRootFilesystem: true capabilities: drop: - ALL gluetun: image: repository: ghcr.io/qdm12/gluetun tag: latest@sha256:f501359827a9c8523d78add8ce68791a31634c146c8eef0fd8700a68b8160cfd env: VPN_SERVICE_PROVIDER: custom VPN_TYPE: wireguard VPN_INTERFACE: wg0 VPN_ENDPOINT_PORT: 51820 VPN_PORT_FORWARDING: on VPN_PORT_FORWARDING_PROVIDER: protonvpn FIREWALL_INPUT_PORTS: 8080 FIREWALL_OUTBOUND_SUBNETS: 10.32.0.0/16 # Allow access to k8s subnets envFrom: - secretRef: name: qbittorrent-secret securityContext: capabilities: add: - NET_ADMIN allowPrivilegeEscalation: false port-forward: image: repository: ghcr.io/bjw-s/gluetun-qb-port-sync tag: v0.0.2 env: GLUETUN_CONTROL_SERVER_HOST: localhost GLUETUN_CONTROL_SERVER_PORT: 8000 QBITTORRENT_HOST: localhost QBITTORRENT_WEBUI_PORT: *port CRON_ENABLED: true CRON_SCHEDULE: "*/5 * * * *" LOG_TIMESTAMP: false securityContext: runAsUser: 568 runAsGroup: 568 runAsNonRoot: true allowPrivilegeEscalation: false readOnlyRootFilesystem: false capabilities: drop: - ALL service: app: controller: qbittorrent ports: http: port: *port bittorrent: controller: qbittorrent type: LoadBalancer annotations: io.cilium/lb-ipam-ips: 10.1.1.34 ports: bittorrent: enabled: true port: 8080 protocol: TCP ingress: app: enabled: true className: "internal-nginx" hosts: - host: "qb.jahanson.tech" paths: - path: / service: identifier: app port: http tls: - hosts: - "qb.jahanson.tech" persistence: config: enabled: true existingClaim: qbittorrent media: type: nfs server: 10.1.1.11 path: /volume1/Media advancedMounts: qbittorrent: app: - path: /data/nas-media