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