Skip to main content

GLPI docker SSL + LDAP

1. INSTALLATION DOCKER <del class="diffmod">Documentation</del><ins class="diffmod">& DOCKER-COMPOSE</ins></span></h4><ins class="diffmod"> </ins><pre><code class="language-bash"><ins class="diffmod"># Mise à jour système sudo apt update && sudo apt upgrade -y # Installation Docker curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh # Installation Docker Compose sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose # Services + utilisateur sudo systemctl enable --now docker sudo usermod -aG docker $USER # Vérification docker --version docker compose version</ins></code></pre><ins class="diffmod"> </ins><h4 id="bkmrk-2.-installation-mkce"><span style="mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: FR;"><ins class="diffmod">2. INSTALLATION MKCERT (SUR L'HÔTE)</ins></span></h4><ins class="diffmod"> </ins><pre><code class="language-bash"><ins class="diffmod"># Dépendances sudo apt install libnss3-tools wget -y # Téléchargement mkcert wget https://github.com/FiloSottile/mkcert/releases/latest/download/mkcert-v1.4.4-linux-amd64 sudo mv mkcert-v1.4.4-linux-amd64 /usr/local/bin/mkcert sudo chmod +x /usr/local/bin/mkcert # Installation CA locale sudo mkcert -install # Vérification mkcert -version</ins></code></pre><ins class="diffmod"> </ins><h4 id="bkmrk-3.-cr%C3%89ation-dossier-"><span style="mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: FR;"><ins class="diffmod">3. CRÉATION DOSSIER & CERTIFICATS MKCERT</ins></span></h4><ins class="diffmod"> </ins><pre><code class="language-bash"><ins class="diffmod"># Dossier</ins> GLPI <ins class="diffins">sudo mkdir </ins>-<ins class="diffins">p /var/www/support.eyrode.lan cd /var/www/support.eyrode.lan # Génération certificats mkcert mkcert</ins> support.eyrode.lan        
       

📋 Documentation Utilisateur : GLPI avec HTTPS (Docker + Caddy) Production ✅

                

Infrastructure : GLPI + MariaDB + Caddy (reverse proxy HTTPS)
        Accès : https://support.eyrode.lan (cadenas vert ✅)
        IP : 172.16.82.2 |localhost Date déploiement127.0.0.1 ::1 05/03/2026# Vérification certificats ls -la support.eyrode.lan*.pem chmod 600 support.eyrode.lan*.pem

Fichiers créés :

       

           

📑 Table des matières

            🔐 Accès & Identifiants             👨‍💼 Utilisation quotidienne             ⚙️ Configuration technique             💾 Sauvegarde & Restauration             🔧 Maintenance             🆘 Dépannage             🔒 Sécurité        

       

           

🔐 Accès & Identifiants

                                                                       
ServiceURLStatutIdentifiantsNotes
GLPIhttps://support.eyrode.lanlan.pem      Actifglpi /Certificat glpiChanger immédiatement
Adminhttps://support.eyrode.lan✅ Actifglpi / glpiInterface complète
           
DNS local : 172.16.82.2 support.eyrode.lan (/etc/hosts)
       
public

support.eyrode.lan-key.pem 

👨‍💼Clé Utilisation quotidienne

                        

Connexion

           
                   
  1. Ouvrir https://support.eyrode.lan
  2.                
  3. Login : glpi | Password : glpi
  4.                
  5. Setup → Général → Changer mot de passe IMMÉDIATEMENT
  6.            
privée

5. CRÉATION

Première configuration

           
                   
  • Langue → Français
  •                
  • Base : glpidb (déjà configurée avec 442 tables)
  •                
  • Règles d'inventaire → Activer
  •                
  • Plugins Marketplace → FusionInventory, etc.
  •            

           

Fonctions principales

           
                   
  • Inventaire : Auto-discovery SNMP/WMI
  •                
  • Tickets : Gestion demandes utilisateurs
  •                
  • Parc : PC, imprimantes, switches
  •                
  • Alertes : Équipements HS
  •            
       

       

           

⚙️ Configuration technique

                        

Structure fichiers

DOCKER-COMPOSE.YML

/var/www/support.eyrode.lan/cat ├──> docker-compose.yml ├──<< 'EOF'
services:
  mariadb:
    image: mariadb
    container_name: mariadb
    hostname: mariadb
    volumes:
      - /var/lib/mysql:/var/lib/mysql
    env_file:
      - ./mariadb.env
    ├──restart: Caddyfilealways
    
  └──glpi:
    image: diouxx/glpi
    container_name: glpi
    hostname: glpi
    volumes:
      - /var/www/html/glpi/ (données persistantes)
└── :/var/lib/mysql/www/html/glpi
    (baseenvironment:
      glpidb)- TIMEZONE=Europe/Paris
    restart: always
  caddy:
    image: caddy:alpine
    container_name: caddy
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile
      - ./support.eyrode.lan.pem:/etc/caddy/certs/support.eyrode.lan.pem:ro
      - ./support.eyrode.lan-key.pem:/etc/caddy/certs/support.eyrode.lan-key.pem:ro
      - caddy_data:/data
      - caddy_config:/config
    depends_on:
      - glpi
    restart: always

volumes:
  caddy_data:
  caddy_config:
EOF

 

6. CRÉATION

Caddyfile (configuration HTTPS)

MARIADB.ENV

cat > mariadb.env << 'EOF'
MYSQL_ROOT_PASSWORD=SuperRoot2026!
MYSQL_DATABASE=glpidb
MYSQL_USER=glpi
MYSQL_PASSWORD=GlpiSupport2026!
EOF
chmod 600 mariadb.env

 

7. CRÉATION CADDYFILE

cat > Caddyfile << 'EOF'
support.eyrode.lan {
    tls /etc/caddy/certs/support.eyrode.lan.pem /etc/caddy/certs/support.eyrode.lan-key.pem
    reverse_proxy glpi:80 {
        header_up Host {upstream_hostport}
        header_up X-Real-IP {remote_host}
        header_up X-Forwarded-Proto https
        header_up X-Forwarded-For {remote_host}
    }
}
EOF

 

Architecture

8. PRÉPARATION VOLUMES PERSISTANTS

Navigateursudo mkdir Caddy(443)-p /var/www/html/glpi GLPI(80/var/lib/mysql
interne)sudo chown MariaDB(glpidb)-R ↕️33:33 HTTPS/var/www/html/glpi/
mkcertsudo ↕️chmod HTTP-R Docker755 network/var/www/html/glpi/

 

9.

💾 Sauvegarde & Restauration

                        

Sauvegarde complèteDÉPLOIEMENT (5 min)

Lancement)

cd /var/www/support.eyrode.lan/

# Lancement
docker compose up -d

# Attente initialisation
sleep 30

 

# Vérification
docker compose ps
docker compose logs caddy

 

Logs attendus :

caddy    | serving initial configuration

mariadb  | 2026-03-05 21:30:00 0 [Note] /usr/sbin/mariadbd: ready for connections

glpi     | Apache/2.4.x (Debian) Server started

 

10. CONFIGURATION INITIALE GLPI

Ouvrir : https://support.eyrode.lan

Assistant installation :Langue : Français

Base de données : 

  • Hôte : mariadb 
  • Utilisateur : root 
  • Mot de passe : SuperRoot2026! 
  • Base : glpidb

Continuer → Login : glpi/glpi 

11. VÉRIFICATIONS FINALES

# Statut services
docker compose ps  → 3/3 Up

# Test HTTPS mkcert (cadenas vert)
curl -k https://support.eyrode.lan  → HTML GLPI

# Test backend interne
docker exec caddy curl http://glpi:80  → Page login

# Base glpidb

docker exec mariadb mysql -u root -pSuperRoot2026! -e "SHOW TABLES FROM glpidb;" | wc -l  → 442 # Certificats mkcert docker exec caddy ls -la /etc/caddy/certs/  → support.eyrode.lan.pem

12. SAUVEGARDE IMMÉDIATE

cd /var/www/support.eyrode.lan/

# Base + fichiers + mkcert
docker exec mariadb mysqldump -u root -p$(grep MYSQL_ROOT_PASSWORD mariadb.env | cut -d= -f2)pSuperRoot2026! glpidb > glpi-$(date +%Y%m%d).sql

Fichiers + config

tar czf glpi-full-complete-$(date +%Y%m%d).tar.gz docker-compose.yml mariadb.env Caddyfile support.eyrode.lan*.pem -C /var/www/html/glpi .

ls -lh glpi-*.sql glpi-full-.tar.gz

           

Restauration

           
cd /var/www/support.eyrode.lan/
docker compose down

cat glpi-*.sql | docker exec -i mariadb mysql -u root -p$(grep MYSQL_ROOT_PASSWORD mariadb.env | cut -d= -f2) glpidb

tar xzf glpi-full-complete-*.tar.gz -C /var/www/html/glpi/ docker compose up -d

COMMANDES      
           

🔧 Maintenance

                        

Mise à jour

           
cd /var/www/support.eyrode.lan/
docker compose pull
docker compose up -d

           

Redémarrage

UTILITAIRES

# CaddyRedémarrage uniquement (HTTPS)rapide
docker compose restart caddy

GLPI uniquement

docker compose restart glpi

Tout

docker compose restart

           

Santé

           
docker compose ps     # 3/3Mise Upà docker stats          # CPU/RAMjour
docker compose logs --tail=20
       

       

           

🆘 Dépannage

                        

Problèmes courants

                                                                                       
SymptômeCauseSolution
Page blancheCaddy headersdocker compose restart caddy
Port 80 occupéAncien GLPIdocker compose downpull && docker compose up -d
Certificat KO/etc/hostsecho "172.16.82.2 support.eyrode.lan" | sudo tee -a /etc/hosts
Base inaccessibleglpidb vs glpiInterface → DB: glpidb

           

Diagnostics rapides

           
# Test backend GLPI
docker exec caddy curl -f http://glpi:80 || echo "❌ GLPI KO"

Logs Caddy

temps

réel docker compose logs caddy-f --tail=20# |Nettoyage grepdocker -vcompose "maxprocs"

Permissions

sudo chown -R 33:33 /var/www/html/glpi/down && sudodocker chmodsystem prune -R 755 /var/www/html/glpi/

f

       

           

🔒 Sécurité

                        

Statut actuel

           
                ✅ HTTPS mkcert (cadenas vert)
                ✅ Ports 80/443 uniquement exposés
                ✅ Réseau Docker interne (glpi:mariadb)
                ✅ Base glpidb isolée
                ✅ Permissions 33:33 (www-data)

           

Améliorations

           
                   
  • Changer glpi/glpi → mot de passe fort
  •                
  • Plugin 2FA
  •                
  • LDAP/AD (Setup → Authentification)
  •                
  • IP whitelist Caddy : @allowed ip 172.16.82.0/24
  •            
       

       

           

📞 Support

                                                                                       
ProblèmeContactAction
HTTPS blancIT Admindocker compose logs caddy
Login GLPISupportglpi/glpi → changer
Base glpidbDBAdocker exec mariadb mysql -u root -p... glpidb
       

       

            🚀 Installation validée : 05/03/2026 22:00 CET
            Version : diouxx/glpi + Caddy alpine + MariaDB 12.2.2
            Base : glpidb (442 tables) | Utilisateur : Sky Choco - eyrode.lan