Skip to content
U UOpsLab
self-hosted Docker Open Source GLPI ITSM

GLPI 11 a grandi : déploiement simple avec Docker

GLPI n’est plus celui d’il y a 20 ans. Installation moderne, simple et propre avec Docker Compose.

R

Raynal.T

2 min read
GLPI 11 avec Docker et Traefik

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.

Interface Helpdesk de GLPI 11

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.fr qui 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

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.

Premier écran de l’installation GLPI 11
Écran GLPI 11 pour choisir entre installation et mise à jour

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.

Configuration de la base de données dans l’installation GLPI 11

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

Installation GLPI 11 terminée

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.
Tableau de bord de démonstration GLPI 11

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

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 😎

Retour aux articles
Share:

Suivre UOpsLab

Nouveaux articles, retours terrain et notes de lab.