blumeops/argocd/manifests/homepage/services.yaml
Erich Blume 308c8e3dad C0: drop duplicate Homepage static entries for ringtail-migrated services
Mealie, Paperless, Immich, TeslaMate are now autodiscovered from their ringtail
Ingress gethomepage.dev annotations; the static services.yaml entries (from when
they were on minikube, which homepage-on-ringtail can't autodiscover) were
duplicating them.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 15:31:59 -07:00

132 lines
4.5 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"]
- 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