--- 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](https://github.com/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.icon` personnalisé - ⚡ 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é) ```yaml # 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 ```bash 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 1. **Définir des labels homogènes** sur ses stacks Docker (ex. `dynacat.group=Media`, `dynacat.icon=https://…`). 2. **Pointer Dynacat sur le socket Docker** de l'hôte (montage `/var/run/docker.sock`). 3. **Choisir le mode de catégorisation** : par label de groupe, par stack Compose, par réseau. 4. **Personnaliser l'ordre** des sections via les labels `dynacat.order=N`. 5. **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 ajouter `privileged: true`. - **🔍 Auditer les labels** des conteneurs : un service mal étiqueté apparaîtra dans le dashboard. ## 📚 Ressources - [GitHub — Typ0genius/dynacat](https://github.com/Typ0genius/dynacat) - [selfh.st — Apps Dashboard](https://selfh.st/apps/?tag=Dashboard) - [Documentation Traefik — Labels](https://doc.traefik.io/traefik/middlewares/headers/) ## 🔗 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