k3s/services/navidrome/navidrome-deployment.yaml
2026-04-07 14:55:55 -04:00

66 lines
2 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -f compose-navidrome.yaml
kompose.version: 1.38.0 (HEAD)
labels:
io.kompose.service: navidrome
name: navidrome
spec:
replicas: 1
selector:
matchLabels:
io.kompose.service: navidrome
strategy:
type: Recreate
template:
metadata:
annotations:
kompose.cmd: kompose convert -f compose-navidrome.yaml
kompose.version: 1.38.0 (HEAD)
vault.hashicorp.com/agent-inject: "true"
vault.hashicorp.com/role: "navidrome-role"
vault.hashicorp.com/agent-inject-secret-credentials: "secret/data/navidrome/config"
vault.hashicorp.com/agent-inject-template-credentials: |
{{- with secret "secret/data/navidrome/config" -}}
export ND_LASTFM_APIKEY="{{ .Data.data.lastfm_api_key }}"
export ND_LASTFM_SECRET="{{ .Data.data.lastfm_secret }}"
{{- end -}}
labels:
io.kompose.service: navidrome
spec:
serviceAccountName: navidrome-sa
containers:
- env:
- name: ND_LASTFM_APIKEY
- name: ND_LASTFM_ENABLED
value: "true"
- name: ND_LASTFM_SECRET
- name: TZ
value: America/New_York
image: deluan/navidrome:latest
name: navidrome
ports:
- containerPort: 4533
protocol: TCP
name: http
securityContext:
runAsGroup: 1000
runAsUser: 1000
volumeMounts:
- mountPath: /data
name: navidrome-data
- mountPath: /music
name: navidrome-media
readOnly: true
restartPolicy: Always
volumes:
- name: navidrome-data
nfs:
server: birdfeeder2.home.nest
path: /k3s/navidrome
- name: navidrome-media
nfs:
server: birdfeeder1.home.nest
path: /yarr/media/music