O GLPI é uma aplicação de gestão de serviços e gerenciamento de ativos 100% web. Foi prioritariamente desenvolvida para atender às necessidades de Gestores de TI no gerenciamento de chamados de Helpdesk e transformou-se numa poderosa plataforma de gerenciamento de ativos e serviços, provendo aos gestores informações “on time” de seus recursos físicos e humanos.
Certifique-se de que o Docker e o Docker Compose estão instalados no seu ambiente:
Estas são as imagens Docker oficiais criadas pela JMBA Soluções. Elas são baseadas exclusivamente em Almalinux 9. Estas imagens são somente da interface web do GLPI:
jmbasolucoes/glpi:latest
jmbasolucoes/glpi:11.0.8
jmbasolucoes/glpi:10.0.26
jmbasolucoes/glpi:12-dev
mkdir -p /data/glpi-11/glpi/documents
mkdir -p /data/glpi-11/glpi/marketplace
mkdir -p /data/glpi-11/glpi/plugins
mkdir -p /data/glpi-11/glpi/files/_pictures
mkdir -p /data/glpi-11/glpi/files/_plugins
mkdir -p /data/glpi-11/glpi/etc
mkdir -p /data/glpi-11/glpi/imagens-custom
mkdir -p /data/glpi-11/backup
mkdir -p /data/glpi-11/percona/lib
chown 70:70 -R /data/glpi-11/glpi
chown 1001:0 -R /data/glpi-11/percona
Vamos criar uma nova network para que os nossos containers possam se comunicar diretamente pelo nome, garantindo que o GLPI não perca a conexão com o banco de dados:
docker network create glpi
Antes de iniciar o banco de dados e o GLPI, é essencial configurar as variáveis de ambiente no arquivo .env. Este arquivo deve conter as credenciais do banco de dados e configurações do GLPI. Um exemplo de arquivo .env pode ser encontrado em:
.env.example
Aqui estão as variáveis que você deve configurar:
MYSQL_ROOT_PASSWORD=root_password
MYSQL_DATABASE=glpi
MYSQL_USER=glpi_user
MYSQL_PASSWORD=glpi_password
TZ=America/Sao_Paulo
As variáveis de ambiente MYSQL_ROOT_PASSWORD, MYSQL_DATABASE, MYSQL_USER, e MYSQL_PASSWORD devem ser ajustadas de acordo com sua configuração do banco de dados. A variável TZ define o fuso horário (ajuste conforme necessário).
Agora, com o .env configurado corretamente, podemos prosseguir com os próximos passos.
Com as variáveis definidas no arquivo .env, vamos iniciar o container do banco de dados MySQL com as credenciais configuradas:
docker run --name db-glpi-11 --network glpi \
-e MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD \
-e MYSQL_DATABASE=$MYSQL_DATABASE \
-e MYSQL_USER=$MYSQL_USER \
-e MYSQL_PASSWORD=$MYSQL_PASSWORD \
-e TZ=$TZ \
-v /data/glpi-11/percona/lib/:/var/lib/mysql \
-d percona/percona-server:8.0 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
Agora vamos iniciar o container do GLPI, conectando-o ao banco de dados com as variáveis definidas no .env:
docker run --name glpi-11 --network glpi -p 80:80 \
-v /data/glpi-11/glpi/documents:/var/lib/glpi/files/data-documents \
-v /data/glpi-11/glpi/marketplace:/var/lib/glpi/marketplace \
-v /data/glpi-11/glpi/imagens-custom:/usr/share/glpi/pics/imagens-custom \
-v /data/glpi-11/glpi/marketplace:/usr/share/glpi/marketplace \
-v /data/glpi-11/glpi/plugins:/usr/share/glpi/plugins \
-v /data/glpi-11/glpi/files/_pictures:/var/lib/glpi/files/_pictures \
-v /data/glpi-11/glpi/files/_plugins:/var/lib/glpi/files/_plugins \
-v /data/glpi-11/glpi/etc:/etc/glpi/ \
-v /data/glpi-11/backup:/backup/ \
-d jmbasolucoes/glpi:11.0.8
Usando o Docker Compose, podemos configurar os serviços do GLPI, do MySQL e do Redis com as variáveis definidas no .env:
version: '3.9'
services:
glpi_app:
image: jmbasolucoes/glpi:11.0.8
container_name: glpi-11
depends_on:
- glpidb
- glpi_redis
volumes:
- /data/glpi-11/glpi/documents:/var/lib/glpi/files/data-documents
- /data/glpi-11/glpi/marketplace:/usr/share/glpi/marketplace
- /data/glpi-11/glpi/plugins:/usr/share/glpi/plugins
- /data/glpi-11/glpi/files/_pictures:/var/lib/glpi/files/_pictures
- /data/glpi-11/glpi/files/_plugins:/var/lib/glpi/files/_plugins
- /data/glpi-11/glpi/etc:/etc/glpi
- /data/glpi-11/glpi/imagens-custom:/usr/share/glpi/pics/imagens-custom
- /data/glpi-11/backup:/backup
environment:
- GLPI_ENABLE_REDIS_SESSIONS=true
- GLPI_CONFIGURE_REDIS_CACHE=true
- GLPI_REDIS_HOST=glpi_redis
- GLPI_REDIS_PORT=6379
- GLPI_REDIS_SESSION_DB=1
- GLPI_REDIS_CACHE_DB=0
networks:
- glpi
ports:
- 8085:80
glpidb:
image: percona/percona-server:8.0
container_name: db-glpi-11
networks:
- glpi
volumes:
- /data/glpi-11/percona/lib:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- TZ=${TZ}
glpi_redis:
image: redis:7-alpine
container_name: glpi-redis
command: redis-server --save "" --appendonly no
networks:
- glpi
networks:
glpi:
driver: bridge
docker compose up -d
Agora que temos o container da aplicação e o container do banco de dados, podemos conectar o GLPI ao banco de dados:
Acesse o GLPI no navegador com o IP do servidor:
http://IP_DNS ou http://IP_DNS:PORTASe preferir configurar via console, execute o seguinte comando para instalar o banco de dados:
docker exec -it glpi-11 /bin/bash
glpi-console glpi:database:install -L pt_BR -Hdb-glpi-11 -dglpi -uglpi -p${MYSQL_PASSWORD} --no-telemetry --force -n
Ao subir com o Docker Compose acima, o start.sh gera /etc/php.d/99-glpi-redis-session.ini com session.save_handler = redis e executa glpi-console glpi:cache:configure --context=core --dsn=redis://.... Caso o config_db.php ainda não exista (antes da instalação do GLPI), basta finalizar a instalação via web/console e reiniciar o container para que a configuração de cache seja aplicada. Para desativar a integração, ajuste as variáveis GLPI_ENABLE_REDIS_SESSIONS e GLPI_CONFIGURE_REDIS_CACHE para false.
Content type
Image
Digest
sha256:9edaeff36…
Size
352.6 MB
Last updated
about 2 months ago
docker pull jmbasolucoes/glpi