- Project to deploy GLPI with docker
- Table of Contents
- Introduction
- Deploy with CLI
- Deploy with docker-compose
- Environnment variables
Install and run an GLPI instance with docker.
docker run --name mysql -e MYSQL_ROOT_PASSWORD=admin -e MYSQL_DATABASE=glpidb -e MYSQL_USER=glpi_user -e MYSQL_PASSWORD=glpi -d mysql:5.7.32
docker run --name glpi --link mysql:mysql -p 80:80 -d loveshooter/glpi
docker run --name glpi --link yourdatabase:mysql -p 80:80 -d loveshooter/glpi
For an usage on production environnement or daily usage, it's recommanded to use container with volumes to persistent data.
- First, create MySQL container with volume
docker run --name mysql -e MYSQL_ROOT_PASSWORD=admin -e MYSQL_DATABASE=glpidb -e MYSQL_USER=glpi_user -e MYSQL_PASSWORD=glpi --volume /var/lib/mysql:/var/lib/mysql -d mysql:5.7.32
- Then, create GLPI container with volume and link MySQL container
docker run --name glpi --link mysql:mysql --volume /var/www/html/glpi:/var/www/html/glpi -p 80:80 -d loveshooter/glpi
Enjoy :)
Default, docker run will use the latest release of GLPI. For an usage on production environnement, it's recommanded to set specific release. Here an example for release 9.1.6 :
docker run --name glpi --hostname glpi --link mysql:mysql --volume /var/www/html/glpi:/var/www/html/glpi -p 80:80 --env "VERSION_GLPI=9.1.6" -d loveshooter/glpi
version: '3.7'
services:
mysql:
image: mysql:5.7.32
restart: always
container_name: mysql
hostname: mysql
volumes:
- /var/lib/mysql:/var/lib/mysql
env_file:
- ./mysql.env
networks:
- glpi
glpi:
image: loveshooter/glpi:v1
restart: always
container_name : glpi
hostname: glpi
ports:
- "8080:80"
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- /var/www/html/glpi/:/var/www/html/glpi
environment:
- TIMEZONE=Europe/Moscow
networks:
- glpi
networks:
glpi:
external: true
To deploy with docker compose, you use docker-compose.yml and mysql.env file. You can modify mysql.env to personalize settings like :
- MySQL root password
- GLPI database
- GLPI user database
- GLPI user password
MYSQL_ROOT_PASSWORD=admin
MYSQL_DATABASE=glpidb
MYSQL_USER=glpi_user
MYSQL_PASSWORD=glpi
To deploy, just run the following command on the same directory as files
docker-compose up -d
If you need to set timezone for Apache and PHP
From commande line
docker run --name glpi --hostname glpi --link mysql:mysql --volumes-from glpi-data -p 80:80 --env "TIMEZONE=Europe/Moscow" -d loveshooter/glpi
From docker-compose
Modify this settings
environment:
TIMEZONE=Europe/Moscow