## Summary - Add Jellyfin ansible role for native macOS deployment via Homebrew cask - Add jellyfin_metrics role for Prometheus textfile metrics collection - Add Caddy routing for jellyfin.ops.eblu.me - Add Alloy log collection for Jellyfin stdout/stderr - Add Grafana dashboard for Jellyfin monitoring ## Architecture Jellyfin runs natively on indri (not in k8s) for full VideoToolbox hardware transcoding support. The M1 Mac Mini can handle ~3 concurrent 4K HDR→SDR transcoding streams. ## Deployment and Testing - [ ] Deploy Jellyfin: `mise run provision-indri -- --tags jellyfin,jellyfin_metrics,caddy,alloy` - [ ] Sync Grafana dashboard: `argocd app sync grafana-config` - [ ] Complete Jellyfin setup wizard at https://jellyfin.ops.eblu.me - [ ] Generate API key and save to `~/.jellyfin-api-key` - [ ] Add media libraries (/Volumes/allisonflix/Movies, /Volumes/allisonflix/TV) - [ ] Enable VideoToolbox hardware transcoding - [ ] Verify metrics in Grafana dashboard - [ ] Verify logs in Loki: `{service="jellyfin"}` 🤖 Generated with [Claude Code](https://claude.com/claude-code) Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/77
20 lines
639 B
YAML
20 lines
639 B
YAML
---
|
|
# Jellyfin metrics collection configuration
|
|
|
|
# Jellyfin server URL
|
|
jellyfin_metrics_url: "http://localhost:8096"
|
|
|
|
# Path to file containing Jellyfin API key (should have 600 permissions)
|
|
jellyfin_metrics_api_key_file: "/Users/erichblume/.jellyfin-api-key"
|
|
|
|
# Metrics collection interval in seconds
|
|
jellyfin_metrics_interval: 60
|
|
|
|
# Output directory for prometheus textfile collector
|
|
jellyfin_metrics_dir: /opt/homebrew/var/node_exporter/textfile
|
|
|
|
# Script installation path
|
|
jellyfin_metrics_script: /Users/erichblume/.local/bin/jellyfin-metrics
|
|
|
|
# Log directory for metrics script output
|
|
jellyfin_metrics_log_dir: /opt/homebrew/var/log
|