Widget customapi pour homepage.dev affichant les compteurs de périphériques réseau issus de WatchYourLan.
Le widget customapi de homepage.dev extrait des valeurs d'un JSON via des expressions JSONPath simples, mais il ne sait pas compter des éléments filtrés dans un tableau. Ce micro-service fait le travail en amont : il interroge l'API WatchYourLan et retourne un objet JSON avec les 4 compteurs prêts à consommer.
| Champ | Description |
|---|---|
online | Périphériques actuellement en ligne (Now = 1) |
known | Périphériques connus (Known = 1) |
offline | Périphériques hors ligne (Now = 0) |
unknown | Périphériques inconnus (Known = 0) |
# Cloner le dépôt
git clone <url-du-depot>
cd WatchYourLanWidget
# Adapter l'URL de WatchYourLan si nécessaire (éditer docker-compose.yaml)
# Par défaut : http://192.168.1.114:8840/api/all
# Lancer le conteneur (l'image supporte amd64 et arm64)
docker compose up -d
# Vérifier
curl http://localhost:8841/stats
Le script publish.sh génère une image multi-plateforme (linux/amd64 + linux/arm64) compatible avec les PC x86 et les Raspberry Pi.
Prérequis buildx (une seule fois) :
docker run --privileged --rm tonistiigi/binfmt --install all
docker buildx create --use --name multiarch
Publier :
./publish.sh 1.0.1
Réponse attendue :
{
"online": 7,
"known": 22,
"offline": 20,
"unknown": 5
}
Dans votre fichier services.yaml (ou équivalent) :
- WatchYourLan:
icon: mdi-lan-connect
href: http://192.168.1.114:8840
widget:
type: customapi
url: http://<HOST_IP>:8841/stats
refreshInterval: 60000
mappings:
- field: online
label: En ligne
format: number
- field: known
label: Connus
format: number
- field: offline
label: Hors ligne
format: number
- field: unknown
label: Inconnus
format: number
Remplacez <HOST_IP> par l'adresse IP de la machine qui héberge ce conteneur.
Pour changer l'URL de l'API WatchYourLan sans reconstruire l'image, modifiez la variable d'environnement dans docker-compose.yaml :
environment:
- WATCHYOURLAN_URL=http://mon-serveur:8840/api/all
puis relancez avec docker compose up -d.
Content type
Image
Digest
sha256:d3e4eb327…
Size
49.7 MB
Last updated
4 months ago
docker pull hthouzard/watchyourlanwidget