## Summary - Remove aliases from all zk cards to prevent them from capturing wiki-links - Convert all wiki-links from `[[filename|Title]]` to `[[Title]]` format - Replace `doc-filenames` task with `doc-titles` for duplicate title detection - Update pre-commit hook to use `doc-titles` Wiki-links now resolve to reference docs by their frontmatter title, which is more readable and maintainable than filename-based links. ## Deployment and Testing - [x] Pre-commit hooks pass (including new `doc-titles` check) - [x] Manually verified zk cards have aliases removed - [ ] Deploy docs v1.0.7 and verify wiki-links resolve correctly - [ ] Test links to reference docs (e.g., [[Grafana Alloy]], [[ArgoCD]]) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/91
78 lines
1.8 KiB
Markdown
78 lines
1.8 KiB
Markdown
---
|
|
id: navidrome-log
|
|
tags:
|
|
- blumeops
|
|
- service
|
|
---
|
|
|
|
Navidrome is a self-hosted music streaming server deployed on [[blumeops|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|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 hour
|
|
- `ND_LOGLEVEL=info` - Standard logging level
|
|
- `ND_MUSICFOLDER=/music` - Music library path
|
|
- `ND_DATAFOLDER=/data` - Data directory path
|
|
|
|
## Initial Setup
|
|
|
|
On first access, Navidrome will prompt to create an admin user. No default credentials.
|
|
|
|
# Operations
|
|
|
|
## Sync Application
|
|
|
|
```bash
|
|
argocd app sync navidrome
|
|
```
|
|
|
|
## Check Status
|
|
|
|
```bash
|
|
argocd app get navidrome
|
|
kubectl --context=minikube-indri -n navidrome get pods
|
|
kubectl --context=minikube-indri -n navidrome logs deploy/navidrome
|
|
```
|
|
|
|
## Verify NFS Mount
|
|
|
|
```bash
|
|
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:
|
|
```bash
|
|
curl -X POST https://dj.ops.eblu.me/api/library/scan -H "x-nd-authorization: Bearer <token>"
|
|
```
|
|
|
|
# Related
|
|
|
|
- [[jellyfin]] - Video streaming (runs on indri directly)
|
|
- [[argocd]] - GitOps deployment
|
|
- [[blumeops]] - Infrastructure overview
|