--- # yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2beta2.json apiVersion: helm.toolkit.fluxcd.io/v2beta2 kind: HelmRelease metadata: name: &app navidrome namespace: default spec: interval: 30m chart: spec: chart: app-template version: 2.6.0 sourceRef: kind: HelmRepository name: bjw-s namespace: flux-system maxHistory: 2 install: createNamespace: true remediation: retries: 3 upgrade: cleanupOnFail: true remediation: retries: 3 uninstall: keepHistory: false values: defaultPodOptions: enableServiceLinks: false securityContext: runAsUser: 568 runAsGroup: 568 controllers: main: containers: main: image: repository: ghcr.io/navidrome/navidrome tag: 0.51.1@sha256:ea426987cc4a148eb6a9fcea60ab44cc0dca4d7f0f1e12a4b48f5937454da4d9 env: TZ: "${TIMEZONE}" ND_DATAFOLDER: /config ND_ENABLEGRAVATAR: "true" ND_LOGLEVEL: info ND_MUSICFOLDER: /mnt/storage/music/Artistes ND_PORT: &port 8080 ND_PROMETHEUS_ENABLED: "true" ND_REVERSEPROXYUSERHEADER: "Remote-User" ND_REVERSEPROXYWHITELIST: "0.0.0.0/0" ND_SCANSCHEDULE: "@every 1h" ND_SESSIONTIMEOUT: 24h resources: requests: cpu: 10m memory: 250Mi limits: memory: 750Mi service: main: ports: http: port: *port serviceMonitor: main: enabled: true ingress: main: enabled: true className: "nginx" annotations: nginx.ingress.kubernetes.io/auth-method: GET nginx.ingress.kubernetes.io/auth-url: http://authelia.default.svc.cluster.local.:8888/api/verify nginx.ingress.kubernetes.io/auth-signin: https://auth.${SECRET_CLUSTER_DOMAIN}?rm=$request_method nginx.ingress.kubernetes.io/auth-response-headers: Remote-User,Remote-Name,Remote-Groups,Remote-Email nginx.ingress.kubernetes.io/auth-snippet: proxy_set_header X-Forwarded-Method $request_method; external-dns.alpha.kubernetes.io/enabled: "true" external-dns.alpha.kubernetes.io/target: services.${SECRET_DOMAIN}. hajimari.io/icon: mdi:music hosts: - host: &host "{{ .Release.Name }}.${SECRET_CLUSTER_DOMAIN}" paths: - path: / service: name: main port: http tls: - hosts: - *host persistence: config: enabled: true existingClaim: *app globalMounts: - path: /config music: type: nfs server: "192.168.9.10" path: /mnt/storage/music globalMounts: - path: /mnt/storage/music readOnly: true