apiVersion: v1 kind: PersistentVolumeClaim metadata: name: navidrome-config namespace: media spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi --- apiVersion: apps/v1 kind: Deployment metadata: name: navidrome namespace: media labels: app: navidrome spec: replicas: 1 selector: matchLabels: app: navidrome template: metadata: labels: app: navidrome spec: nodeSelector: topology.researchstack.io/role: core containers: - name: navidrome image: ghcr.io/navidrome/navidrome:latest ports: - containerPort: 4533 env: - name: ND_PORT value: "4533" - name: ND_LOGLEVEL value: info - name: ND_ENABLEDOWNLOADS value: "true" volumeMounts: - name: config mountPath: /data - name: music mountPath: /music volumes: - name: config persistentVolumeClaim: claimName: navidrome-config - name: music hostPath: path: /mnt/media type: DirectoryOrCreate --- apiVersion: v1 kind: Service metadata: name: navidrome namespace: media spec: type: NodePort selector: app: navidrome ports: - port: 4533 targetPort: 4533 nodePort: 30809