--- # yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2.schema.json apiVersion: helm.toolkit.fluxcd.io/v2 kind: HelmRelease metadata: name: &app qbittorrent spec: interval: 1h chartRef: kind: OCIRepository name: app-template install: remediation: retries: 3 upgrade: cleanupOnFail: true remediation: strategy: rollback retries: 3 values: defaultPodOptions: securityContext: runAsUser: 568 runAsGroup: 568 fsGroup: 568 fsGroupChangePolicy: OnRootMismatch controllers: qbittorrent: containers: app: image: repository: ghcr.io/home-operations/qbittorrent tag: 5.1.2@sha256:9dd0164cc23e9c937e0af27fd7c3f627d1df30c182cf62ed34d3f129c55dc0e8 env: TZ: "${TIMEZONE}" QBITTORRENT__PORT: &port 8080 QBITTORRENT__BT_PORT: &port-bt 58462 resources: requests: cpu: 500m memory: 1Gi limits: memory: 8Gi service: app: controller: *app ports: http: port: *port bittorrent: enabled: true controller: *app type: LoadBalancer loadBalancerIP: 192.168.169.105 ports: bittorrent: enabled: true port: *port-bt protocol: TCP targetPort: *port-bt externalTrafficPolicy: Local route: app: hostnames: ["{{ .Release.Name }}.${SECRET_EXTERNAL_DOMAIN}"] parentRefs: - name: internal namespace: network sectionName: https rules: - backendRefs: - name: qbittorrent-app port: *port persistence: config: enabled: true existingClaim: *app globalMounts: - path: /config downloads: type: nfs server: 192.168.9.10 path: /var/mnt/vol1/downloads globalMounts: - path: /mnt/storage/downloads music-qbittorrent: type: nfs server: 192.168.9.10 path: /var/mnt/vol1/music/.qbittorrent globalMounts: - path: /mnt/storage/music/.qbittorrent video-qbittorrent: type: nfs server: 192.168.9.10 path: /var/mnt/vol1/video/.qbittorrent globalMounts: - path: /mnt/storage/video/.qbittorrent