Cómo Instalar GLPI 11 en Docker: Guía Definitiva

Tutorial paso a paso para instalar GLPI 11 con Docker Compose, incluyendo MariaDB, proxy inverso, SSL y buenas prácticas de producción.

Docker es la forma más rápida y segura de instalar GLPI 11. En menos de 10 minutos, tendrás un entorno completo funcionando con MariaDB, volúmenes persistentes y listo para producción.

Prerrequisitos

  • Servidor Linux (Debian 12, Ubuntu 22.04+ o AlmaLinux 9)
  • Docker Engine 24+ y Docker Compose v2
  • Mínimo 2 GB de RAM y 20 GB de disco
  • Dominio apuntando al servidor (para SSL)

1. Estructura de directorios

Crea la estructura para los volúmenes persistentes:

mkdir -p /opt/glpi/{data,config,plugins,marketplace}
mkdir -p /opt/glpi/db

Esto garantiza que los datos de GLPI y de la base de datos sobrevivan a las recreaciones del contenedor.

2. Docker Compose

Crea el archivo docker-compose.yml:

version: "3.8"

services:
  glpi-db:
    image: mariadb:10.11
    container_name: glpi-db
    restart: unless-stopped
    environment:
      MARIADB_ROOT_PASSWORD: SuaSenhaForte123
      MARIADB_DATABASE: glpi
      MARIADB_USER: glpi
      MARIADB_PASSWORD: SuaSenhaGLPI456
    volumes:
      - /opt/glpi/db:/var/lib/mysql
    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

  glpi:
    image: glpi/glpi:11.0
    container_name: glpi-app
    restart: unless-stopped
    ports:
      - "8080:80"
    depends_on:
      - glpi-db
    volumes:
      - /opt/glpi/data:/var/lib/glpi
      - /opt/glpi/config:/etc/glpi
      - /opt/glpi/plugins:/var/www/glpi/plugins
      - /opt/glpi/marketplace:/var/www/glpi/marketplace
    environment:
      GLPI_DB_HOST: glpi-db
      GLPI_DB_NAME: glpi
      GLPI_DB_USER: glpi
      GLPI_DB_PASSWORD: SuaSenhaGLPI456

3. Iniciar los contenedores

docker compose up -d

Espera 30 segundos para que la base de datos se inicialice. Verifica los logs:

docker compose logs -f glpi

4. Instalación por consola (recomendado)

En lugar de usar el asistente web, instala por CLI para automatización:

docker exec -it glpi-app php bin/console db:install \
  --db-host=glpi-db \
  --db-name=glpi \
  --db-user=glpi \
  --db-password=SuaSenhaGLPI456 \
  --default-language=pt_BR \
  --no-interaction

5. Eliminar archivos de instalación

Por seguridad, elimina el script de instalación al finalizar:

docker exec -it glpi-app rm -f /var/www/glpi/install/install.php

6. Proxy inverso con SSL

En producción, nunca expongas GLPI directamente en el puerto 80. Usa un proxy inverso (Nginx Proxy Manager, Traefik o Nginx manual) con certificado SSL.

Ejemplo con Nginx:

server {
    listen 443 ssl http2;
    server_name glpi.suaempresa.com;

    ssl_certificate /etc/ssl/certs/glpi.crt;
    ssl_certificate_key /etc/ssl/private/glpi.key;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

7. Primer acceso

Accede a https://glpi.suaempresa.com e inicia sesión con las credenciales predeterminadas:

  • Admin: glpi / glpi
  • Técnico: tech / tech
  • Normal: normal / normal

Importante: cambia todas las contraseñas predeterminadas inmediatamente después del primer acceso.

8. Buenas prácticas para producción

  • Configura copia de seguridad automática del volumen /opt/glpi/db y /opt/glpi/data
  • Usa variables de entorno en un archivo .env (nunca uses contraseñas en el compose)
  • Habilita el cron de GLPI: docker exec glpi-app crontab -l
  • Configura SMTP para notificaciones por email
  • Instala plugins vía Marketplace (Configuración > Plugins)

Siguiente paso

Con GLPI funcionando, configura SLA y OLA, crea tu catálogo de servicios y activa los módulos de NexTool para ampliar las funcionalidades.

Preguntas Frecuentes

Sí. Teclib ofrece imágenes oficiales en Docker Hub basadas en AlmaLinux 9, con soporte para GLPI 10 y 11.

Sí. Docker es la forma recomendada para entornos de producción: facilita actualizaciones, copias de seguridad y reproducibilidad. Usa volúmenes persistentes y configura SSL mediante proxy inverso.

GLPI 11 requiere PHP 8.1 o superior. La imagen Docker oficial ya incluye la versión correcta.

No es obligatorio, pero sí muy recomendable. Docker Compose permite definir GLPI + base de datos en un único archivo YAML reproducible.

?Necesitas ayuda?