# Homepage runs on ringtail (k3s) — its k8s autodiscovery only sees ringtail # Ingresses (frigate→NVR, authentik, ntfy, ollama). Services that live on # minikube (and indri-native) need explicit static entries here. - Host Services: - Forgejo: href: https://forge.eblu.me icon: forgejo description: Git forge widget: type: gitea url: https://forge.eblu.me key: "{{HOMEPAGE_VAR_FORGEJO_API_KEY}}" fields: ["notifications", "pulls"] - Registry: href: https://registry.ops.eblu.me icon: zot-registry description: Container registry - Devpi: href: https://pypi.ops.eblu.me icon: mdi-language-python description: PyPI caching mirror - Sifaka NAS: href: https://nas.ops.eblu.me icon: synology description: NAS dashboard widget: type: prometheusmetric url: https://prometheus.ops.eblu.me metrics: - label: Used query: node_filesystem_size_bytes{mountpoint="/Volumes/backups"} - node_filesystem_avail_bytes{mountpoint="/Volumes/backups"} format: type: bytes - label: Total query: node_filesystem_size_bytes{mountpoint="/Volumes/backups"} format: type: bytes - Borg Backups: href: https://grafana.ops.eblu.me/d/borgmatic icon: borgmatic description: Backup system widget: type: prometheusmetric url: https://prometheus.ops.eblu.me metrics: - label: Last backup query: time() - borgmatic_last_archive_timestamp format: type: duration - label: Archive size query: borgmatic_repo_deduplicated_size_bytes format: type: bytes # TODO: Add Caddy widget when admin API is enabled (currently admin off) # - Caddy: # href: https://indri.tail8d86e.ts.net # icon: caddy # description: Reverse proxy # widget: # type: caddy # url: http://indri.tail8d86e.ts.net:2019 - Home: - Jellyfin: href: https://jellyfin.ops.eblu.me icon: jellyfin description: Media server widget: type: jellyfin url: https://jellyfin.ops.eblu.me key: "{{HOMEPAGE_VAR_JELLYFIN_API_KEY}}" enableBlocks: true enableNowPlaying: false fields: ["movies", "series", "episodes"] - DJ: href: https://dj.ops.eblu.me icon: navidrome.png description: Music streaming server widget: type: navidrome url: https://dj.ops.eblu.me user: "{{HOMEPAGE_VAR_NAVIDROME_USER}}" token: "{{HOMEPAGE_VAR_NAVIDROME_TOKEN}}" salt: "{{HOMEPAGE_VAR_NAVIDROME_SALT}}" - Content: - Kiwix: href: https://kiwix.ops.eblu.me icon: kiwix.png description: Offline Wikipedia - Miniflux: href: https://feed.ops.eblu.me icon: miniflux.png description: RSS reader widget: type: miniflux url: https://feed.ops.eblu.me key: "{{HOMEPAGE_VAR_MINIFLUX_API_KEY}}" fields: ["unread"] - Infrastructure: - ArgoCD: href: https://argocd.ops.eblu.me icon: argo-cd.png description: GitOps CD - Grafana: href: https://grafana.ops.eblu.me icon: grafana.png description: Metrics dashboards widget: type: grafana url: https://grafana.ops.eblu.me username: "{{HOMEPAGE_VAR_GRAFANA_USERNAME}}" password: "{{HOMEPAGE_VAR_GRAFANA_PASSWORD}}" fields: ["dashboards", "totalalerts", "alertstriggered"] - Prometheus: href: https://prometheus.ops.eblu.me icon: prometheus.png description: Metrics storage - Services: # CV and Docs were previously auto-discovered from k8s Ingresses; after # the indri-native migration ([[cv-on-indri]], [[docs-on-indri]]) there # is no Ingress to discover, so they live here as static entries. - CV: href: https://cv.eblu.me icon: mdi-file-document description: Resume / CV - Docs: href: https://docs.eblu.me icon: mdi-book-open-page-variant description: BlumeOps Documentation - Transmission: href: https://torrent.ops.eblu.me icon: transmission.png description: Torrent client