
I. Présentation
Vous recherchez une application légère et open source pour gérer l’inventaire de votre matériel ? Découvrez DumbAssets ! Quelles sont ses fonctionnalités ? Comment l’installer ? Lisez la suite de cet article pour en savoir plus.
DumbAssets est une application web légère conçue pour permettre de gérer simplement un inventaire d’équipements informatiques (et de divers appareils). Elle est adaptée pour un home lab ou un petit environnement professionnel. Pensée pour être auto-hébergée et rapide à mettre en place, son objectif est de fournir une interface claire pour organiser, visualiser et documenter l’ensemble des actifs physiques et logiciels d’un environnement informatique.
Cette solution est intéressante pour suivre l’inventaire de votre matériel, avec la garantie, et même gérer les tâches de maintenance associées. Vous pouvez tout à fait y ajouter votre ordinateur, votre NAS (et rattacher les disques en tant que composant), et pourquoi pas enregistrer aussi votre cafetière. Il n’y a pas de limitation : vous ajoutez les appareils de votre choix.
En comparaison d’autres solutions beaucoup plus complètes, DumbAssets se distingue par son approche minimaliste, mais efficace. Voici un résumé de ses fonctionnalités :
Gestion des actifs : ajout, édition et suppression des appareils et de leurs composants (hiérarchie).
Description des actifs : nom, fabricant, modèle, numéro de série, date d’achat, prix, quantité, etc…
Suivi des garanties de vos équipements : chaque actif peut être associé à une date de fin de garantie et l’application en fait le suivi.
Prise en charge des documents et images : import de photos pour chaque actif, et même de la facture d’achat ou de la notice.
Filtre et recherche : classement par type, emplacement, statut ou marque, ou recherche sur l’inventaire.
Accès protégé : sécurisation de l’application via un code PIN configurable.
Sauvegarde simplifiée : toutes les données sont stockées dans un dossier local (volume Docker), facile à sauvegarder, avec des fichiers au format JSON.
Personnalisation régionale : configuration de la devise, de la langue et du titre de l’instance.
Source : GitHub @ DumbAssets
DumbAssets est une application issue du projet DumbWare, dont la vocation est de proposer “des solutions simples et stupides pour des problèmes sophistiqués”, pour reprendre les termes du site officiel. Il y a donc d’autres projets, comme vous pourrez le constater en visitant le site DumbWare.io.
II. Installer DumbAssets avec Docker
Que ce soit sur une machine Linux, Windows ou un NAS, vous pouvez déployer DumbAssets à l’aide de Docker. Si besoin, pour vous aider :
Avant de déployer DumbAssets avec Docker, commençons par créer une arborescence dédiée à ce service dans le dossier /opt/docker-compose, qui contiendra notre fichier de configuration ainsi que le volume de données nécessaire pour ce projet (dossier data).
cd /opt/docker-compose/
sudo mkdir -p dumbassets/data
Le dossier dumbassets contiendra notre fichier docker-compose.yml, tandis que le sous-dossier data servira de volume local pour stocker les données de l’application de façon persistante. Toutes les informations sont enregistrées sous forme de fichiers JSON dans le répertoire /data. Voici la structure adoptée par l’application :
/data/Assets.json : contient l’ensemble des données relatives à vos équipements principaux (assets/actifs).
/data/SubAssets.json : enregistre les composants ou sous-éléments associés aux actifs.
/data/Images : répertoire utilisé pour stocker les photos téléchargées.
/data/Receipts : répertoire destiné aux justificatifs et factures liés aux actifs.
/data/config.json : fichier de configuration de l’application, incluant les paramètres de notification.
Une fois les dossiers en place, plaçons-nous dans le dossier du projet et créons le fichier docker-compose.yml qui va définir les paramètres du conteneur.
cd dumbassets/
sudo nano docker-compose.yml
Ce fichier va nous permettre de spécifier l’image Docker à utiliser, le port à exposer, le volume à monter, et les paramètres de l’application DumbAssets.
Voici le contenu à insérer dans le fichier docker-compose.yml :
services:
dumbassets:
container_name: dumbassets
image: dumbwareio/dumbassets:latest
restart: unless-stopped
ports:
– 3000:3000
volumes:
– ./data:/app/data
environment:
NODE_ENV: production
DEBUG: false
SITE_TITLE: Home Lab Assets
BASE_URL: http://assets.it-connect.local:3000
DUMBASSETS_PIN: 1234
ALLOWED_ORIGINS: “*”
CURRENCY_CODE: EUR
CURRENCY_LOCALE: fr-FR
Cette configuration :
Lance l’application à partir de l’image officielle dumbwareio/dumbassets en dernière version.
Expose le port 3000 localement, ce qui signifie que l’application sera accessible via l’adresse http://assets.it-connect.local:3000
Monte le dossier local ./data dans le conteneur pour stocker les données (important pour la persistance lors du redémarrage).
Configure plusieurs variables d’environnement, notamment le nom du site (SITE_TITLE), l’URL de l’application (BASE_URL), la devise (CURRENCY_CODE), et un code PIN pour protéger l’accès (DUMBASSETS_PIN).
Vous pouvez aussi ajouter la variable d’environnement APPRISE_URL avec l’adresse d’un appel de notification (prise en charge d’Apprise) si vous souhaitez bénéficier de notifications vers d’autres services.
Enregistrez et fermez le fichier.
Nous pouvons maintenant démarrer le conteneur avec Docker Compose. L’option -d permet de le lancer en arrière-plan.
sudo docker compose up -d
Une fois cette commande exécutée, Docker va télécharger l’image de DumbAssets et construire le conteneur. Ensuite, l’application sera accessible à l’adresse suivante (enregistrement DNS à créer par vos soins) : http://assets.it-connect.local:3000.
III. Découverte de DumbAssets
Lors de la première connexion à DumbAssets (et pour les prochaines connexions non authentifiées), vous devez saisir votre code PIN pour accéder aux données. Sans cela, vous ne pourrez pas accéder aux données.
Ensuite, vous arrivez sur le tableau de bord de l’application. Sans surprise, tout est vide : vous devez donc ajouter vos équipements. Pour ajouter un nouvel appareil, cliquez sur le bouton “Add Asset”. Pour effectuer un import en masse, notamment via un fichier CSV, cliquez sur le bouton “Import Assets” (un modèle est proposé pour vous aider).
Vos équipements s’afficheront sur la gauche, tandis que sur la droite, il s’agit d’une vue d’ensemble (ou des informations de l’actif sélectionné). Vous avez un aperçu sur le nombre d’équipements, la valeur total, l’état des garanties, ou encore les prochaines tâches de maintenance à effectuer.
Lors de l’ajout d’un équipement, vous avez une multitude de champs disponibles, comme vous pouvez le voir sur les images ci-dessous. Vous pouvez ajouter des pièces jointes (photos, documents) et associer des tâches de maintenance avec une récurrence à chaque équipement.
Au fur et à mesure que votre inventaire est complété, le fichier Assets.json prendra forme. C’est en quelque sorte la base de données de l’application pour vos actifs.
Quelques minutes plus tard, votre inventaire prend forme ! Vous disposez désormais d’une application simple et légère pour référencer votre matériel.
À partir des paramètres de l’application, vous pouvez effectuer plusieurs actions :
Exporter les données : il est donc facile de migrer d’une instance à une autre puisque l’on peut importer des données en masse.
Gérer les notifications : dans quels cas souhaitez-vous recevoir une notification ?
Personnaliser l’interface du système : sélectionner les zones de l’interface à afficher ou non.
Pour aller plus loin, je vous recommande de positionner l’application derrière un reverse proxy pour disposer d’un accès HTTPS. Ceci a été évoqué dans d’autres tutoriels, notamment avec Nginx.
IV. Conclusion
DumbAssets est une solution pratique pour gérer simplement l’inventaire de votre matériel, sans se prendre la tête. Facile à déployer avec Docker et compatible avec l’esprit Self-Hosted, elle répond aux besoins d’un home lab ou d’un petit environnement pro. Une application à tester si vous cherchez l’efficacité sans superflu.
Qu’en pensez-vous ?
Ingénieur système et réseau, cofondateur d’IT-Connect et Microsoft MVP “Cloud and Datacenter Management”. Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.