Quartz's "shortest" path mode resolves wiki-links by filename, not frontmatter title. This fixes the broken links from the previous title-based approach. Changes: - Rename zk duplicate files with -log suffix to avoid conflicts - Rename reference/storage/postgresql.md to postgresql-storage.md - Convert all wiki-links from [[Title]] to [[filename|Title]] format - Rename doc-card-titles task to doc-filenames (checks filename uniqueness) - Update pre-commit hook for renamed task Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1.8 KiB
1.8 KiB
| id | aliases | tags | |||
|---|---|---|---|---|---|
| navidrome-log |
|
|
Navidrome is a self-hosted music streaming server deployed on blumeops.
Access
- Primary URL: https://dj.ops.eblu.me (via Caddy)
- Tailscale URL: https://dj.tail8d86e.ts.net
Deployment
Navidrome runs in Kubernetes (minikube on indri) and is managed via argocd.
Manifests: argocd/manifests/navidrome/
Storage
| Mount | Type | Source | Access |
|---|---|---|---|
| /music | NFS PV | sifaka:/volume1/music | Read-only |
| /data | Local PVC (10Gi) | minikube storage class | Read-write |
The /data directory contains:
- SQLite database
- Configuration
- Cache files
Configuration
Environment variables set in deployment:
ND_SCANSCHEDULE=1h- Rescan library every hourND_LOGLEVEL=info- Standard logging levelND_MUSICFOLDER=/music- Music library pathND_DATAFOLDER=/data- Data directory path
Initial Setup
On first access, Navidrome will prompt to create an admin user. No default credentials.
Operations
Sync Application
argocd app sync navidrome
Check Status
argocd app get navidrome
kubectl --context=minikube-indri -n navidrome get pods
kubectl --context=minikube-indri -n navidrome logs deploy/navidrome
Verify NFS Mount
kubectl --context=minikube-indri -n navidrome exec deploy/navidrome -- ls /music
Force Library Rescan
Access Settings > Library in the web UI, or trigger via API:
curl -X POST https://dj.ops.eblu.me/api/library/scan -H "x-nd-authorization: Bearer <token>"