Quand on parle de GLPI, beaucoup ont encore une vieille image en tête :
- 🔹 Une interface datée
- 🔹 Un outil uniquement fait pour l’inventaire
- 🔹 Une solution compliquée à maintenir
- 🔹 Une usine à gaz, tout simplement.
Franchement, cette vision mérite d’être remise à jour.
Donc STOP, GLPI a changé en 20 ans. Et en plus, Docker vient standardiser tout ça et facilite grandement le déploiement.
Quand on met les deux ensemble, on obtient une stack beaucoup plus simple à tester, déplacer, sauvegarder et exposer proprement derrière un reverse proxy.
👉 Donc plus d’excuse pour ne pas le tester.
C’est pour ça que, dans cet article, nous allons préparer une installation GLPI 11 + Docker sur une Debian.
Helpdesk
Un vrai portail de services visuellement agréable et accessible, pas seulement une console d’inventaire.
Stack claire
GLPI, MariaDB, volumes persistants et network Docker dédié.
Exposition maîtrisée
Traefik, HTTPS automatique et quelques points de sécurité dès le départ.
🚀 GLPI : d’un outil historique à une solution moderne
GLPI fait partie des grands noms de l’IT open source en France. Pendant des années, il a permis de structurer des besoins très concrets : gestion de parc, inventaire, licences, documentation, support… On l’a vu partout : PME, collectivités, écoles, hôpitaux.
Alors oui, à l’époque :
👉 interface vieillissante
👉 impression d’usine à gaz
👉 ergonomie discutable
Mais il faisait le JOB, et surtout il répondait à un vrai besoin terrain : centraliser l’information IT, notamment avec l’aide d’OCS ou FusionInventory, au lieu de la disperser partout.
Aujourd’hui, le projet est porté par Teclib’ et a énormément évolué.
Depuis GLPI 10 :
- 👉 Interface modernisée, ergonomie revue
- 👉 Architecture plus propre, gros travail sur les API
- 👉 Et surtout, avec Docker, le déploiement devient simple, rapide et propre.
Le GLPI actuel n’a plus rien à voir avec celui d’avant.
Le socle open source est toujours là, mais avec une approche moderne et exploitable.
👊 Bref : même si cela n’enlève pas le travail de paramétrage nécessaire pour avoir un GLPI bien configuré et réellement efficient, le mythe de “l’usine à gaz” ne tient plus.
La vraie force moderne de GLPI
S’il fallait retenir un gros tournant, pour moi ce serait l’intégration native du Helpdesk.
Et ce n’est pas un hasard. Cette évolution s’inspire fortement de ce que le plugin historique Formcreator a apporté pendant des années : rendre GLPI réellement accessible côté demandes utilisateurs.
Avant, beaucoup voyaient GLPI comme un outil d’admins. Aujourd’hui, on peut en faire un vrai portail de services :
Demandes IT
Centraliser les besoins utilisateurs au lieu de les laisser vivre dans les mails.
Onboarding / offboarding
Préparer les arrivées, les départs, les accès, le matériel et les licences.
Incidents
Suivre les pannes, prioriser les urgences et garder une trace des actions.
Demandes RH
Créer un point d’entrée clair pour les demandes internes hors pur support IT.
Validation interne
Structurer les validations avant achat, création de compte ou changement sensible.
Catalogue de services
Transformer les demandes répétitives en services clairs et suivis.
Suivi utilisateur
Donner de la visibilité sur l’état des demandes sans relances permanentes.
Et ça change tout : si l’utilisateur final adhère, c’est gagné. Les admins et les techniciens, eux, s’adaptent à l’interface, comme on le fait tous les jours en testant et en adoptant de nouveaux outils.

On passe à Docker
Autrefois, installer GLPI voulait souvent dire bien gérer son LAMP (Linux, Apache, MariaDB, PHP), avec des mises à jour de versions ou de dépendances parfois délicates.
L’évolution logique, c’est donc de passer par un conteneur Docker pour standardiser, sécuriser et simplifier le socle de la solution.
1. Prérequis dans mon cas
- 1️⃣ Debian 13 + sudo + ssh
- 2️⃣ Docker installé et Compose disponible
- ℹ️ En option selon votre environnement : Traefik, le network
proxy-wg, un DNS*.tondomaine.frqui pointe vers le VPS
2. Petite vérification avant de démarrer
sudo docker --version
sudo docker compose version
sudo docker network ls
3. Préparation du dossier
mkdir -p ~/docker/glpi
cd ~/docker/glpi
4. Création du fichier .env
GLPI_DOMAIN=glpi.tondomaine.fr
MARIADB_ROOT_PASSWORD=secret que vous allez générer avec openssl
MARIADB_DATABASE=glpi
MARIADB_USER=glpi
MARIADB_PASSWORD=secret que vous allez générer avec openssl
TZ=Europe/Paris
Pour générer rapidement des secrets :
openssl rand -hex 32
5. Le Docker Compose
Voici une base pensée pour Traefik. Si vous n’utilisez pas Traefik, il faudra supprimer ou adapter tout le bloc labels.
services:
glpi-app:
container_name: glpi-app
image: glpi/glpi:11
restart: unless-stopped
networks:
- proxy-wg # =====> à adapter en fonction de votre network
- glpi-internal
volumes:
- ./glpi:/var/glpi
environment:
- TZ=${TZ}
depends_on:
- glpi-db
labels: # =====> adapter, commenter ou supprimer tout le bloc labels
- "traefik.enable=true"
- "traefik.docker.network=proxy-wg"
# ===== Router HTTPS =====
- "traefik.http.routers.glpi.rule=Host(`${GLPI_DOMAIN}`)"
- "traefik.http.routers.glpi.entrypoints=websecure"
- "traefik.http.routers.glpi.tls=true"
- "traefik.http.routers.glpi.tls.certresolver=letsencrypt"
- "traefik.http.routers.glpi.service=glpi"
# ===== Service Web =====
- "traefik.http.services.glpi.loadbalancer.server.port=80"
# ===== Router HTTP (redirect only) =====
- "traefik.http.routers.glpi-http.rule=Host(`${GLPI_DOMAIN}`)"
- "traefik.http.routers.glpi-http.entrypoints=web"
- "traefik.http.routers.glpi-http.middlewares=redirect-to-https"
- "traefik.http.routers.glpi-http.service=glpi"
# ===== Middlewares =====
- "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https"
glpi-db:
container_name: glpi-db
image: mariadb:11.8
restart: unless-stopped
networks:
- glpi-internal
volumes:
- ./db:/var/lib/mysql
environment:
- MARIADB_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD}
- MARIADB_DATABASE=${MARIADB_DATABASE}
- MARIADB_USER=${MARIADB_USER}
- MARIADB_PASSWORD=${MARIADB_PASSWORD}
- TZ=${TZ}
expose:
- "3306"
networks:
proxy-wg: # =====> à adapter en fonction de votre network
external: true
glpi-internal:
internal: true
À adapter avant de copier-coller
- 🟠 Adapter, commenter ou supprimer la partie
labelset ses instructions Traefik. - 🟠 Attention au network que vous avez en production
- 🟠 Les container_name, j’aime bien les rajouter pour s’y retrouver
README du Docker Compose de GLPI
Pour ceux qui veulent aller plus loin, vous pouvez lire le README du compose officiel de GLPI docker-compose.yml, notamment pour les options de configuration PHP personnalisée et l’activation du cron.
6. Les droits sur les volumes
sudo chown -R 33:33 ./glpi
sudo chmod -R u+rwX,g+rwX ./glpi
7. Lancer GLPI
sudo docker compose pull
sudo docker compose up -d
sudo docker compose logs -f
On regarde rapidement les logs :
- ➡️ si on n’a pas de
glpi-app | mkdir: cannot create directory '/var/glpi/config': Permission denied - ➡️ et si on a un
mariadbd: ready for connections, on peut dire que c’est OK 💪
Premier accès
Une fois qu’on a tout bien validé, on peut lancer sa première connexion dans un navigateur.
https://glpi.tondomaine.fr
On arrive sur l’assistant d’installation ou de mise à jour. À vous de choisir selon votre cas, notamment lors d’un upgrade.


Pour les informations de base de données, vous avez tout dans le .env plus haut. Le serveur SQL correspond ici au container_name : glpi-db.

Une fois l’installation terminée, GLPI confirme que la base est prête.

Post-installation
À faire tout de suite après la première connexion :
Sécurité des comptes
- Changer les mots de passe par défaut des différents utilisateurs.
- Créer un vrai compte administrateur nominatif.
- Désactiver les comptes inutiles.
Configuration de base
- Vérifier l’URL applicative.
- Vérifier le fuseau horaire.
- Configurer le SMTP avec un email dédié.
Exploitation
- Vérifier les tâches automatiques.
- Préparer une première sauvegarde.
Ne laissez pas les comptes par défaut
Les comptes de démonstration sont pratiques au premier lancement, mais ils ne doivent pas rester actifs sur une instance exposée, même dans un lab.

Une fois connecté, on peut commencer à préparer les entités, les profils, les catégories et le portail utilisateurs.
C’est là que le vrai travail commence
Voilà, vous avez fait le plus simple 😉. Le vrai travail commence maintenant.
Si on veut qu’un ITSM fonctionne dans une structure, et que les utilisateurs adhèrent sans le voir comme une contrainte, il faut surtout travailler l’organisation, les droits, les formulaires et l’exploitation au quotidien.
Les vrais chantiers après l’installation
Select Tab
Structurer le socle
Bien gérer et organiser les entités, les sites, les catégories et le périmètre de support. Une mauvaise structure au départ finit souvent en tickets difficiles à lire.
Penser les droits
Réfléchir aux utilisateurs, aux groupes, aux profils et à la visibilité des tickets entre équipes. C’est souvent là que l’expérience technicien se joue. Connecter GLPI à la base utilisateurs existante, comme AD ou Microsoft 365, fait aussi partie du chantier.
Soigner les demandes
Créer des formulaires clairs, simples et courts. Les notifications email doivent aussi rester lisibles et utiles, sans transformer GLPI en machine à spam.
Automatiser proprement
Bien penser les règles d’association, de création et d’affectation, puis gérer le déploiement de l’agent sans créer de doublons.
Exploiter dans la durée
Prévoir les sauvegardes automatisées, documenter les choix faits pendant l’installation, et garder des captures ou notes utiles pour les futures migrations.
Structurer le socle
Bien gérer et organiser les entités, les sites, les catégories et le périmètre de support. Une mauvaise structure au départ finit souvent en tickets difficiles à lire.
Penser les droits
Réfléchir aux utilisateurs, aux groupes, aux profils et à la visibilité des tickets entre équipes. C’est souvent là que l’expérience technicien se joue. Connecter GLPI à la base utilisateurs existante, comme AD ou Microsoft 365, fait aussi partie du chantier.
Soigner les demandes
Créer des formulaires clairs, simples et courts. Les notifications email doivent aussi rester lisibles et utiles, sans transformer GLPI en machine à spam.
Automatiser proprement
Bien penser les règles d’association, de création et d’affectation, puis gérer le déploiement de l’agent sans créer de doublons.
Exploiter dans la durée
Prévoir les sauvegardes automatisées, documenter les choix faits pendant l’installation, et garder des captures ou notes utiles pour les futures migrations.
Conclusion
GLPI en Docker est une bonne base pour monter rapidement un outil ITSM propre dans un lab, une petite ou une grande infrastructure.
Mais le vrai sujet n’est pas seulement l’installation. La valeur arrive ensuite : structurer les tickets, fiabiliser l’inventaire, documenter le parc, automatiser les remontées et transformer GLPI en véritable portail de services.
GLPI a changé. Peut-être qu’il est temps de lui redonner sa chance.
Raynal.T, défenseur de GLPI depuis toujours 😎