GLPI – Déploiement ITSM dockerisé (GLPI + MySQL 5.7)




Docker : GLPI – ITSM & Inventaire
Mise en place d’une plateforme GLPI sur Debian 12 (VM VirtualBox) via Docker Compose : persistance MySQL, configuration initiale, et intégration du plugin FusionInventory pour l’inventaire automatisé.
- Catégorie : ITSM / Gestion de parc
- Contexte : VM Debian 12 (local)
- Livrables : Stack Compose, .env, persistance, plugin, tests fonctionnels
Objectif : déployer GLPI pour la gestion des tickets, des actifs et des licences, de façon portable et reproductible via Docker. La cible est une VM Debian 12 sous VirtualBox, avec persistance des données et une intégration FusionInventory pour automatiser l’inventaire matériel/logiciel.
Deux services : glpi
(front/app) et db
(MySQL 5.7) sur le même réseau
avec volumes persistants. Les secrets sont externalisés via .env
.
version: "3.8"
services:
glpi:
image: glpi/glpi:latest
restart: unless-stopped
volumes:
- ./storage/glpi:/var/glpi:rw
env_file: .env
depends_on:
- db
ports:
- "8083:80"
db:
image: mysql:5.7
restart: unless-stopped
volumes:
- ./storage/mysql:/var/lib/mysql
environment:
MYSQL_DATABASE: ${GLPI_DB_NAME}
MYSQL_USER: ${GLPI_DB_USER}
MYSQL_PASSWORD: ${GLPI_DB_PASSWORD}
MYSQL_ROOT_PASSWORD: root
expose:
- "3306"
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "-u", "${GLPI_DB_USER}", "--password=${GLPI_DB_PASSWORD}"]
interval: 5s
timeout: 5s
retries: 10
Lancement : docker compose up -d
→ GLPI sur http://localhost:8083
.
Arborescence minimale :
$ mkdir -p ~/projet-ecf/glpi
$ cd ~/projet-ecf/glpi
$ tree -L 2
.
├── docker-compose.yml
├── .env
└── storage/
├── glpi/
└── mysql/
Fichier .env
:
GLPI_DB_HOST=db
GLPI_DB_PORT=3306
GLPI_DB_NAME=glpi
GLPI_DB_USER=glpi
GLPI_DB_PASSWORD=glpi
Commandes clés :
# Démarrage
docker compose up -d
# Santé & logs
docker ps
docker compose logs -f db
docker compose logs -f glpi
# Accès applicatif
# → http://localhost:8083
# Compte initial : glpi / glpi (à changer immédiatement)
Vérifications effectuées : conteneurs db et glpi OK, persistance des données OK après redémarrage de la stack.
- Création des entités, groupes, utilisateurs et profils.
- Paramétrage des catégories de tickets, SLA, notifications.
- Tests réalisés : création/suivi de tickets, ajout de matériels, gestion de licences — OK.
FusionInventory apporte l’inventaire automatique (postes, serveurs, réseaux), la découverte réseau (SNMP, plages IP) et l’automatisation de tâches de gestion de parc.
- Télécharger le plugin et le déposer dans
/var/glpi/plugins/
(volumestorage/glpi
côté hôte). - Activer depuis Configuration → Plugins.
- Déployer un agent FusionInventory sur un poste test et vérifier la remontée.
Résultat : inventaire fonctionnel synchronisé dans GLPI — OK.
- Secrets en
.env
, pas d’identifiants en clair dans le YAML. - Volumes
storage/glpi
etstorage/mysql
pour la persistance. - Journalisation :
docker compose logs -f
, contrôle des ports viass -tulnp
. - Exposition externe : reverse proxy + authentification (à prévoir si publication).
- Projet connexe : pare-feu pfSense pour filtrer/contrôler les flux.
- Stack reproductible GLPI + MySQL, prête à être intégrée dans une infra plus large.
- Inventaire automatisé via FusionInventory et jeux de tests validés.
- Base pour ajouter supervision, sauvegardes planifiées et durcissement réseau.