Files
infrastructure/clusters/cl01tl/helm/navidrome/values.yaml
Alex Lebens a34db2de86
Some checks failed
lint-test-helm / lint-helm (pull_request) Failing after 1m7s
lint-test-helm / validate-kubeconform (pull_request) Has been skipped
feat: refactor apps
2026-04-04 17:54:26 -05:00

183 lines
4.6 KiB
YAML

navidrome:
controllers:
main:
type: deployment
replicas: 1
strategy: Recreate
pod:
securityContext:
fsGroup: 1000
fsGroupChangePolicy: OnRootMismatch
containers:
main:
image:
repository: ghcr.io/navidrome/navidrome
tag: 0.61.0@sha256:b14a6acb5cd5ee73f3a13d63d8d68ede82dedb796aa522fbada94769d990cf0b
env:
- name: ND_MUSICFOLDER
value: /music
- name: ND_DATAFOLDER
value: /data
- name: ND_CACHEFOLDER
value: /cache
- name: ND_BASEURL
value: https://navidrome.alexlebens.net
- name: ND_ENABLEINSIGHTSCOLLECTOR
value: false
- name: ND_PROMETHEUS_ENABLED
value: true
- name: ND_AUTOIMPORTPLAYLISTS
value: true
resources:
limits:
gpu.intel.com/i915: 1
requests:
gpu.intel.com/i915: 1
cpu: 10m
memory: 50Mi
feishin:
type: deployment
replicas: 1
strategy: Recreate
containers:
main:
image:
repository: ghcr.io/jeffvli/feishin
tag: 1.9.0@sha256:5e6959afd27dabadd8f68fed8b0485d851593c61ca558194295bf8950262cc07
env:
- name: SERVER_NAME
value: talos
- name: SERVER_LOCK
value: true
- name: SERVER_TYPE
value: navidrome
- name: SERVER_URL
value: https://navidrome.alexlebens.net
resources:
cpu: 1m
memory: 20Mi
service:
main:
controller: main
ports:
http:
port: 80
targetPort: 4533
feishin:
controller: feishin
ports:
http:
port: 80
targetPort: 9180
serviceMonitor:
main:
selector:
matchLabels:
app.kubernetes.io/name: navidrome
app.kubernetes.io/instance: navidrome
app.kubernetes.io/service: navidrome-main
serviceName: '{{ include "bjw-s.common.lib.chart.names.fullname" $ }}'
endpoints:
- port: http
scheme: http
path: /metrics
interval: 30s
scrapeTimeout: 15s
route:
main:
kind: HTTPRoute
parentRefs:
- group: gateway.networking.k8s.io
kind: Gateway
name: traefik-gateway
namespace: traefik
hostnames:
- navidrome.alexlebens.net
rules:
- backendRefs:
- name: navidrome-main
port: 80
matches:
- path:
type: PathPrefix
value: /
feishin:
kind: HTTPRoute
parentRefs:
- group: gateway.networking.k8s.io
kind: Gateway
name: traefik-gateway
namespace: traefik
hostnames:
- feishin.alexlebens.net
rules:
- backendRefs:
- name: navidrome-feishin
port: 80
matches:
- path:
type: PathPrefix
value: /
persistence:
data:
forceRename: navidrome-data
storageClass: ceph-block
accessMode: ReadWriteOnce
size: 10Gi
advancedMounts:
main:
main:
- path: /data
readOnly: false
cache:
type: emptyDir
advancedMounts:
main:
main:
- path: /cache
readOnly: false
music:
existingClaim: navidrome-music-nfs-storage
advancedMounts:
main:
main:
- path: /music
readOnly: true
music-youtube:
existingClaim: navidrome-music-youtube-nfs-storage
advancedMounts:
main:
main:
- path: /music-youtube
readOnly: true
music-grabber:
existingClaim: navidrome-music-grabber-nfs-storage
advancedMounts:
main:
main:
- path: /music-grabber
readOnly: true
music-single:
existingClaim: navidrome-music-single-nfs-storage
advancedMounts:
main:
main:
- path: /music-single
readOnly: true
volsync-target-data:
pvcTarget: navidrome-data
moverSecurityContext:
runAsUser: 1000
runAsGroup: 1000
fsGroup: 1000
fsGroupChangePolicy: OnRootMismatch
local:
enabled: true
schedule: 46 8 * * *
remote:
enabled: true
schedule: 46 9 * * *
external:
enabled: true
schedule: 46 10 * * *