5.0 KiB
title: Dynacat created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, dashboard, docker, auto-categorisation, auto-hebergement] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Dashboard, https://github.com/Typ0genius/dynacat]
📊 Dynacat
Dashboard dynamique de services : catégorisation automatique des conteneurs Docker à partir de leurs labels (stack Traefik, monitoring, media, etc.).
📋 Informations Générales
| Champ | Valeur |
|---|---|
| Site web | — |
| GitHub | Typ0genius/dynacat |
| License | MIT |
| Langage | JavaScript (Node.js) |
| Étoiles GitHub | 914 ⭐ |
| Catégorie | cat-dashboard |
📝 Description
Dynacat est un dashboard léger dont la particularité est de générer dynamiquement la liste et la catégorisation des services à partir des labels Docker posés sur les conteneurs (notamment ceux utilisés par app-traefik : traefik.enable, routers, services…).
L'idée : au lieu de maintenir à la main un fichier de configuration qui liste chaque service, on demande à Dynacat de scanner le socket Docker et d'inférer l'organisation. Ajouter un nouveau conteneur avec les bons labels = apparition automatique dans le dashboard, sans reconfiguration.
Points clés :
- 🐳 Découverte automatique via le socket Docker (
/var/run/docker.sock) - 🏷️ Catégorisation par labels : une stack (par ex.
stack=media) devient une section du dashboard - 🎨 Templates de groupes : disposition en tuiles, sections pliables
- 🖼️ Icônes auto (favicon du domaine) ou
label.iconpersonnalisé - ⚡ Léger, Node.js, base SQLite embarquée
- 🔌 Compatible avec l'écosystème label-first (Traefik, Docker Compose, Swarm, Portainer stacks)
Différence avec app-dashy / app-glance : ces derniers reposent sur une configuration manuelle (YAML ou UI). Dynacat mise sur le zéro-config : tant que les labels sont bons, le dashboard s'auto-organise.
Différence avec app-homepage : Homepage propose aussi la découverte de services mais reste centré sur une bibliothèque statique éditable, là où Dynacat pousse la logique label-driven.
🚀 Installation
Via Docker (recommandé)
# docker-compose.yml
services:
dynacat:
image: typ0genius/dynacat:latest
container_name: dynacat
restart: unless-stopped
ports:
- "5000:5000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./data:/app/data
environment:
- TZ=Europe/Paris
labels:
- "traefik.enable=true"
- "traefik.http.routers.dynacat.rule=Host(`dynacat.example.com`)"
- "traefik.http.routers.dynacat.entrypoints=websecure"
- "traefik.http.routers.dynacat.tls.certresolver=letsencrypt"
Installation manuelle
git clone https://github.com/Typ0genius/dynacat.git
cd dynacat
npm install
npm start # http://localhost:5000
Nécessite Node.js 18+ et l'accès au socket Docker de l'hôte.
⚙️ Configuration
- Définir des labels homogènes sur ses stacks Docker (ex.
dynacat.group=Media,dynacat.icon=https://…). - Pointer Dynacat sur le socket Docker de l'hôte (montage
/var/run/docker.sock). - Choisir le mode de catégorisation : par label de groupe, par stack Compose, par réseau.
- Personnaliser l'ordre des sections via les labels
dynacat.order=N. - Thème clair/sombre + couleurs par groupe pour une lecture rapide.
🔗 Alternatives
- app-dashy — Référence des dashboards self-hosted, configuration YAML riche, widgets
- app-homepage — Dashboard moderne très populaire, services + bookmarks + monitoring
- app-glance — Widgets multiples, lecture rapide, pas d'auto-découverte
- app-heimdall — Fiable, mature, configuration manuelle
- app-fenrus — Voir fiche dédiée : single-user, smart home + apps
🔒 Sécurité
- 🔐 Mettre Dynacat derrière un reverse-proxy authentifié : le socket Docker exposé donne un accès complet à l'hôte.
- 🚫 Ne jamais exposer le port 5000 directement sur Internet sans authentification.
- 🛡️ Privilèges : montage du socket en read-only (
ro) suffit pour la découverte, ne pas ajouterprivileged: true. - 🔍 Auditer les labels des conteneurs : un service mal étiqueté apparaîtra dans le dashboard.
📚 Ressources
🔗 Pages Liées
- cat-dashboard
- app-dashy — concurrent principal (manuel)
- app-homepage — concurrent moderne
- app-glance — widgets read-only
- app-fenrus — autre fiche de ce batch
- app-traefik — source des labels exploités
- securisation-home-lab — socket Docker = surface d'attaque
- recettes-docker-compose — labels Traefik standards