--- # 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 namespace: default spec: interval: 30m chart: spec: chart: app-template version: 3.5.1 sourceRef: kind: HelmRepository name: bjw-s namespace: flux-system maxHistory: 2 install: createNamespace: true remediation: retries: 3 upgrade: cleanupOnFail: true remediation: strategy: rollback retries: 3 uninstall: keepHistory: false values: defaultPodOptions: securityContext: runAsUser: 568 runAsGroup: 568 fsGroup: 568 fsGroupChangePolicy: OnRootMismatch controllers: qbittorrent: containers: app: image: repository: ghcr.io/onedr0p/qbittorrent tag: 5.0.2@sha256:b905a9e4eef9ffabd10ad8618ffdc2661d20c1a910441e5f921c851c10974444 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 ingress: app: enabled: true className: nginx annotations: hajimari.io/icon: mdi:download hosts: - host: &host "{{ .Release.Name }}.${SECRET_EXTERNAL_DOMAIN}" paths: - path: / service: identifier: app port: http tls: - hosts: - *host 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