Menu

Glance : le nouveau tableau de bord de votre Homelab

Un tableau de bord léger et hautement personnalisable pour votre Homelab.

glance-cover

💡 Introduction

Glance est un dashboard (ou homepage) léger et hautement personnalisable qui affiche vos liens, container docker, meteo, Fluxrss..etc dans une interface épurée et responsive. C’est l’outil parfait pour centraliser toutes vos données (RSS, Météo, Server Stats) en un seul endroit. Il se positionne comme alternative à des solutions similaires telles que Homepage et Homarr.

Voici par exemple mon homelab avec Glance :

Ce n’est pas encore le plus beau dashboard possible avec Glance ! 😅 Il est encore en cours de construction j’améliore petit à petit l’apparence et l’organisation de mes widgets.

Pourquoi Glance ?

Pourquoi j’ai choisi Glance par rapport à d’autres solutions ?

  1. Légèreté et Performance : Glance est conçu pour être extrêmement rapide et léger, avec un faible usage mémoire. Son binaire est de petite taille (moins de 20MB).
  2. Personnalisation et Flexibilité des Widgets : Il offre une très large gamme de widgets (RSS, Météo, Hacker News, Twitch, Statuts Docker, Server Stats) qui vous permettent de centraliser presque toutes vos sources d’information. La possibilité d’utiliser différents layouts, de multiples pages/onglets, d’appliquer du CSS personnalisé.
  3. Optimisation mobile : Glance est optimisé pour les appareils mobiles (responsive).
  4. Simple : modifiable depuis un simple glance.yml.

Exemple pour la partie responsible :

⚙️ Installation / Configuration

Vous êtes convaincu, très bien, commençons l’installation !

Grâce à sa légèreté (un binaire unique de moins de 20MB) et peu de dépendances, l’installation est simplifiée. Elle ne nécessite qu’un seul fichier de configuration.

Installation Docker Compose

Étape 1 : Créer le fichier docker-compose.yml avec la configuration suivante :

version: "3.8"

services:
  glance:
    image: glanceapp/glance:latest
    container_name: glance
    ports:
      - "8080:8080"
    volumes:
      - ./glance.yml:/app/glance.yml
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    restart: unless-stopped

Étape 2 : Configurer le fichier glance.yml selon vos besoins (voir la section Utilisation ci-dessous pour des exemples de configuration).

Étape 3 : Lancer la commande suivante pour démarrer le service :

docker-compose up -d

Glance sera accessible à l’adresse http://localhost:8080.

Installation sur Unraid :

  • Étape 1 : Passer par Community Applications pour ajouter l’application.

  • Étape 2 : Configurer les chemins pour vos volumes, ainsi que le docker.sock (si vous souhaitez utiliser le widget docker).

Cliquer ensuite sur APPLY. Puis rendez-vous sur http://IP_SERVER_UNRAID:WEB_UI_PORT, modifier par rapport au port que vous avez mis et l’IP de votre server Unraid.

Vous n’avais plus qu’a configurer le ficher glance.yml dans le volume (ici /mnt/user/appdata/glance/config).

🛠️ Utilisation des Widgets

Quelques exemples de widgets et de configurations que j’utilise.

Afficher les nouvelles vidéos d’une chaîne YouTube

Il est possible d’afficher les dernières vidéos publiées par une ou plusieurs chaînes YouTube directement dans Glance grâce au widget dédié :

- type: videos
  channels:
    - UCR-DXc1voovS8nhAvccRZhg # Jeff Geerling
    - UCPvOHaaP9E6FqSqG1NMV_Hw # Raycast

Pour récupérer cette id :

  1. Ouvrez la page YouTube de la chaîne.
  2. Clic droit → Afficher le code source (ou Ctrl+U).
  3. Faites une recherche (Ctrl+F) pour channelId.

Vous trouverez une ligne du genre : "channelId":"UCXuqSBlHAE6Xw-yeJA0Tunw"

Surveiller vos conteneurs Docker

Le widget Docker Containers permet d’afficher l’état de vos conteneurs et d’accéder rapidement à leurs interfaces web.

Exemple avec n8n :

- type: docker-containers
  containers:
    n8n:
      name: n8n
      description: Plateforme d'automatisation de workflows
      url: https://n8n.domain.com
      icon: si:n8n

Propriétés disponibles :

  • name : Le nom d’affichage du conteneur
  • description : Une description du service
  • url : L’URL pour accéder au service (optionnel)
  • icon : L’icône à afficher (voir la documentation des icônes)
  • hide : Masquer le conteneur s’il n’est pas en cours d’exécution (par défaut : false)

⚠️ Pour que ce widget fonctionne, vous devez monter le socket Docker dans le conteneur Glance en ajoutant au docker-compose.yml :

volumes:
  - /var/run/docker.sock:/var/run/docker.sock:ro

Afficher des flux RSS

Le widget RSS vous permet d’agréger plusieurs sources d’actualités.

Exemple (ici sur une colonne de taille small) :

Exemple avec des flux financiers :

- type: rss
  title: Actualités Financières
  style: horizontal-cards
  feeds:
    - url: https://feeds.bloomberg.com/markets/news.rss
      title: Bloomberg
    - url: https://moxie.foxbusiness.com/google-publisher/markets.xml
      title: Fox Business
    - url: https://moxie.foxbusiness.com/google-publisher/technology.xml
      title: Fox Business Tech

Propriétés disponibles :

  • title : Le titre du widget
  • style : Le style d’affichage (horizontal-cards, vertical-cards, ou detailed-list)
  • feeds : Liste des flux RSS à agréger
  • limit : Nombre maximum d’articles à afficher (optionnel)
  • collapse-after : Nombre d’articles visibles avant le bouton “VOIR PLUS” (optionnel)

Afficher la météo

Le widget météo vous permet d’afficher les prévisions météorologiques. Exemple pour Paris :

- type: weather
  location: Paris, France
  units: metric
  hour-format: 24h

Propriétés disponibles :

  • location : L’emplacement pour lequel afficher la météo (format : “Ville, Pays”)
  • units : Système d’unités (metric pour °C, imperial pour °F)
  • hour-format : Format horaire (12h ou 24h)

🔧 Configuration Avancée

Utiliser des variables d’environnement

Glance prend en charge l’utilisation de variables d’environnement pour sécuriser vos tokens et mots de passe. Utilisez la syntaxe ${ENV_VAR} :

- type: rss
  title: ${RSS_TITLE}
  feeds:
    - url: http://domain.com/rss/${RSS_CATEGORY}.xml

Dans votre docker-compose.yml, définissez les variables :

services:
  glance:
    image: glanceapp/glance:latest
    environment:
      - RSS_TITLE=Mes Actualités
      - RSS_CATEGORY=tech

Autres méthodes pour gérer les secrets :

  1. Docker Secrets :
token: ${secret:github_token}
  1. Fichier via variable d’environnement :
# Dans docker-compose.yml
environment:
  - TOKEN_FILE=/run/secrets/token

# Dans glance.yml
token: ${readFileFromEnv:TOKEN_FILE}

Pour plus de détails sur la configuration avancée, consultez la documentation complète.

✅ Conclusion

Léger, rapide et ultra-personnalisable, Glance est une excellente alternative aux tableaux de bord plus lourds pour centraliser vos informations. Sa faible consommation mémoire en fait un choix idéal pour le self-hosting. La grande force de Glance réside dans la richesse de ses widgets, qui permettent de personnaliser et centraliser toutes vos informations en un seul endroit.

📚 Sources

Offrez-moi un café