Dashy – Le Tableau de Bord pour Centraliser Vos Services et Outils

Dans le monde de l’administration système et des environnements DevOps, il est essentiel d’accéder rapidement à de nombreux services et outils. Dashy, un tableau de bord open-source, vous permet de regrouper et d’organiser ces services via une interface intuitive. Cet article explore les fonctionnalités de Dashy, ses avantages, et fournit un guide complet pour son installation et personnalisation.

Qu’est-ce que Dashy ?

Dashy est un tableau de bord web open-source construit avec Vue.js. Il permet de centraliser vos services et outils pour un accès rapide via une interface hautement personnalisable. Que vous ayez un serveur domestique ou que vous gérez des infrastructures complexes, Dashy est adapté à divers cas d’usage, de l’administration système aux environnements DevOps.

Avantages :

  1. Centralisation : Regroupe tous vos services, applications et outils en un seul endroit pour un accès rapide.
  2. Personnalisation : Permet de personnaliser l’interface avec des icônes, des sections, des descriptions et même des thèmes.
  3. Open-source et gratuit : Totalement gratuit, Dashy est modifiable selon vos besoins spécifiques.
  4. Portabilité : Facile à déployer avec Docker, Dashy est adaptable à de nombreux environnements.
  5. Simplicité de configuration : L’utilisation d’un fichier YAML rend la configuration et l’organisation des liens très simple et flexible.

Fonctionnalités principales :

  1. Organisation par section : Les services peuvent être regroupés sous différentes sections avec des icônes et descriptions personnalisées.
  2. Thèmes et apparence personnalisables : Dashy offre des thèmes clairs et sombres, ainsi que des options de personnalisation avancée pour correspondre à votre identité visuelle.
  3. Support des Webhooks et API : Vous pouvez ajouter des liens déclenchant des actions via des webhooks ou des commandes personnalisées.
  4. Recherche intégrée : Une barre de recherche permet de retrouver rapidement un service parmi des dizaines de liens.
  5. Statistiques d’utilisation et intégration avec des services externes : Des fonctionnalités avancées permettent l’intégration de monitoring, de statistiques, et de graphiques dynamiques.

Cas d’utilisation de Dashy :

  • Environnements DevOps : Accès rapide aux pipelines CI/CD (Jenkins, GitLab CI), aux outils de gestion d’infrastructure (Ansible, Terraform), et aux dashboards de supervision (Grafana, Prometheus).
  • Administration Système : Centralisation des services de gestion réseau, de sécurité (pare-feux, VPN), et des outils de gestion de bases de données.
  • Utilisation personnelle : Organisation des services d’hébergement de fichiers, des médias, des outils de productivité, et des applications domestiques.

Installation de Dashy

Prérequis :

  • Un serveur sous Ubuntu ou tout autre OS supportant Docker.
  • Docker et Docker Compose installés.

Étapes d’installation :

Installation de Docker :
Assurez-vous que Docker et Docker Compose sont installés sur votre machine.

       sudo apt update
       sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

    Créer un fichier docker-compose.yml :
    Créez un répertoire pour Dashy et un fichier docker-compose.yml pour configurer Dashy :

         services:
           dashy:
             image: lissy93/dashy:latest
             container_name: dashy
             restart: always
             ports:
               - "4000:80"
             volumes:
               - ./data/conf.yml:/app/public/conf.yml

      Configuration initiale :
      Créez un fichier conf.yml dans le répertoire data avec un exemple de configuration :

           pageInfo:
             title: Dashboard
             description: Un aperçu de tous vos services
           sections:
             - name: Services DevOps
               items:
                 - title: Jenkins
                   url: https://ci.example.com
                   icon: fab fa-jenkins
                 - title: Grafana
                   url: https://grafana.example.com
                   icon: fas fa-chart-line

        Démarrage du service :
        Lancez Dashy avec Docker Compose :

             sudo docker-compose up -d

          Accéder à Dashy :
          Dashy sera disponible sur http://localhost:4000. Si vous utilisez un serveur distant, remplacez localhost par l’adresse IP du serveur.

            Personnalisation de Dashy :

            Dashy offre des options de personnalisation avancées :

            • Thèmes personnalisés : Modifiez l’apparence de votre tableau de bord avec vos propres couleurs et polices.
            • Intégration de services externes : Connectez Dashy à des services tels que Jenkins, Docker, ou Grafana pour un accès rapide aux informations en temps réel.
            • Contrôle d’accès : Ajoutez un contrôle d’accès via un proxy (NGINX) pour limiter l’accès aux utilisateurs autorisés.

            Exemple de fichier conf.yml anonyme :

            Voici un exemple de configuration simplifiée et anonyme pour Dashy :

            pageInfo:
              title: Mon Dashboard
              description: Accédez rapidement à vos services préférés
              sections:
                - name: Outils DevOps
                  items:
                    - title: Jenkins
                      url: https://ci.example.com
                      icon: fab fa-jenkins
                    - title: Monitoring
                      url: https://monitoring.example.com
                      icon: fas fa-chart-line
                - name: Productivité
                  items:
                    - title: Nextcloud
                      url: https://cloud.example.com
                      icon: fas fa-cloud
                    - title: Mattermost
                      url: https://chat.example.com
                      icon: fas fa-comments

            Cas d’usage avancé : Exécution d’actions

            Dashy supporte des actions via des Webhooks, vous permettant d’automatiser des tâches à partir du tableau de bord. Par exemple, vous pouvez créer un lien pour redémarrer un service ou déclencher un déploiement via une API REST.

            - title: Restart Webserver
              url: http://api.example.com/restart
              method: POST
              icon: fas fa-sync
              payload: { "service": "webserver" }

            Conclusion :

            Dashy est un outil polyvalent qui permet de centraliser et de simplifier l’accès à des services critiques dans un environnement DevOps, système ou personnel. Avec ses nombreuses options de personnalisation et son intégration facile via Docker, il constitue un choix idéal pour quiconque souhaite organiser ses outils en un seul endroit.

            Ressources :