Repoint the ArgoCD Application destination from minikube to ringtail and bump the image tag to the new amd64 nix-built v1.11.0-b87f62e-nix. Rework services.yaml for the autodiscovery shift: 11 services that previously auto-populated via minikube Ingress annotations (ArgoCD, Immich, Kiwix, Mealie, Miniflux, Grafana, Prometheus, Navidrome, Paperless, TeslaMate, Transmission) become explicit static entries with their widget configs preserved. Conversely, the ringtail services that will now auto-populate (Frigate/NVR, Authentik, Ntfy) are removed from the static list to avoid duplicates; Ollama becomes newly visible. Add a Content group for Immich/Kiwix/Miniflux which previously lived under the autodiscovered "Content" group from annotations.
148 lines
4.9 KiB
YAML
148 lines
4.9 KiB
YAML
# 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"]
|
|
- Mealie:
|
|
href: https://meals.ops.eblu.me
|
|
icon: mealie.png
|
|
description: Recipe manager
|
|
- 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}}"
|
|
- Paperless:
|
|
href: https://paperless.ops.eblu.me
|
|
icon: paperless-ngx.png
|
|
description: Document management
|
|
- Content:
|
|
- Immich:
|
|
href: https://photos.ops.eblu.me
|
|
icon: immich.png
|
|
description: Photo management
|
|
- 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
|
|
- TeslaMate:
|
|
href: https://tesla.ops.eblu.me
|
|
icon: teslamate.png
|
|
description: Tesla data logger
|
|
- Transmission:
|
|
href: https://torrent.ops.eblu.me
|
|
icon: transmission.png
|
|
description: Torrent client
|