Files
homelab/config/monitoring/glance/pages/services.yml
2026-02-26 03:10:13 +03:00

84 lines
3.3 KiB
YAML

# Services: status monitor, Docker containers, Portainer
- name: Services
columns:
- size: full
widgets:
- type: server-stats
title: Server
servers:
- type: local
name: Services
mountpoints:
"/":
name: Root
"/srv/media":
name: Media
"/backup":
name: Backup
- type: monitor
title: Service status
sites:
- title: Jellyfin
url: https://jellyfin.internal
icon: mdi:television-play
- title: Seer
url: https://seerr.internal
icon: mdi:movie-search
- title: Radarr
url: https://radarr.internal
icon: mdi:film
- title: Sonarr
url: https://sonarr.internal
icon: mdi:television
- title: Lidarr
url: https://lidarr.internal
icon: mdi:music
- title: Prowlarr
url: https://prowlarr.internal
icon: mdi:radar
- title: qBittorrent
url: https://qbit.internal
icon: mdi:download
- title: Portainer
url: https://portainer.internal
icon: mdi:docker
- title: Immich
url: https://photo.internal
icon: mdi:image-multiple
- title: Navidrome
url: https://music.internal
icon: mdi:music-box-multiple
- title: CopyParty
url: https://copyparty.internal
icon: mdi:folder-multiple
- title: Gitea
url: https://git.internal
icon: mdi:git
- title: Grafana
url: https://grafana.internal
icon: mdi:chart-line
- type: docker-containers
title: Docker
show-stats: true
- type: custom-api
title: Portainer
title-url: https://portainer.internal
cache: 1h
url: ${PORTAINER_URL}/api/endpoints/${PORTAINER_ENDPOINT_ID}
headers:
X-API-Key: ${PORTAINER_API_KEY}
template: |
<style>.list-horizontal-text.no-bullets > *:not(:last-child)::after { content: none !important; } .list-horizontal-text.no-bullets > *:not(:last-child) { margin-right: 1em; }</style>
<div class="list list-horizontal-text no-bullets">
<span><strong>{{ .JSON.String "Name" }}</strong></span>
<span>Containers: {{ .JSON.Int "Snapshots.0.ContainerCount" }}</span>
<span>Volumes: {{ .JSON.Int "Snapshots.0.VolumeCount" }}</span>
<span>Networks: {{ .JSON.Int "Snapshots.0.DockerSnapshotRaw.Networks.#" }}</span>
</div>
<ul class="list list-gap-4 margin-top-10">
<li>Running <strong>{{ .JSON.Int "Snapshots.0.RunningContainerCount" }}</strong></li>
<li>Healthy <strong>{{ .JSON.Int "Snapshots.0.HealthyContainerCount" }}</strong></li>
<li>Stopped <strong>{{ .JSON.Int "Snapshots.0.StoppedContainerCount" }}</strong></li>
<li>Unhealthy <strong>{{ .JSON.Int "Snapshots.0.DockerSnapshotRaw.Containers.#(Health=\"unhealthy\").#" }}</strong></li>
</ul>