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.
Table of Contents
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 :
- Centralisation : Regroupe tous vos services, applications et outils en un seul endroit pour un accès rapide.
- Personnalisation : Permet de personnaliser l’interface avec des icônes, des sections, des descriptions et même des thèmes.
- Open-source et gratuit : Totalement gratuit, Dashy est modifiable selon vos besoins spécifiques.
- Portabilité : Facile à déployer avec Docker, Dashy est adaptable à de nombreux environnements.
- 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 :
- Organisation par section : Les services peuvent être regroupés sous différentes sections avec des icônes et descriptions personnalisées.
- 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.
- Support des Webhooks et API : Vous pouvez ajouter des liens déclenchant des actions via des webhooks ou des commandes personnalisées.
- Recherche intégrée : Une barre de recherche permet de retrouver rapidement un service parmi des dizaines de liens.
- 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 :
- Site officiel : Dashy
- Exemples de configuration : GitHub Gist