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 :