Navidrome

Self-hosted music streaming server.

Quick Reference

PropertyValue
URLhttps://dj.ops.eblu.me
Tailscale URLhttps://dj.tail8d86e.ts.net
ArgoCD appnavidrome
Sync policyManual
Namespacenavidrome
Manifestsargocd/manifests/navidrome/
Imageregistry.ops.eblu.me/blumeops/navidrome:v0.61.1-3ecd888
Tracked upstream versionv0.61.1

Traffic reaches Navidrome through a Tailscale Ingress at dj.tail8d86e.ts.net, with caddy proxying dj.ops.eblu.me to that tailnet endpoint.

Storage

MountTypeSourceAccess
/musicNFS PVsifaka:/volume1/musicRead-only
/dataLocal PVC (10Gi)minikube storageRead-write

The /data directory contains SQLite database, configuration, and cache.

Configuration

VariableValue
ND_SCANNER_SCHEDULE@every 1h
ND_LOGLEVELinfo
ND_MUSICFOLDER/music
ND_DATAFOLDER/data

Runtime

PropertyValue
Replicas1
Container port4533
Requests100m CPU, 128Mi memory
Limits500m CPU, 512Mi memory
Security contextRuns as uid/gid 1000, fsGroup: 1000, RuntimeDefault seccomp
Health checksLiveness/readiness probe on GET /ping

Authentication

Local accounts only. Authentik SSO integration was evaluated (Feb 2026) but not pursued — Navidrome lacks native OIDC support. The reverse proxy auth approach (ND_EXTAUTH_*) can pass a username header from Authentik, but cannot map Authentik groups to Navidrome admin status, making group-based admin delegation impossible.