You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			|  | 1 year ago | |
|---|---|---|
| .github/workflows | 1 year ago | |
| .gitignore | 2 years ago | |
| Dockerfile | 1 year ago | |
| README.md | 4 years ago | |
| docker-compose.yml | 4 years ago | |
| glpi-start.sh | 1 year ago | |
| mariadb.env | 4 years ago | |
		
			
				
				README.md
			
		
		
			
			
		
	
	Project to deploy GLPI with docker
Table of Contents
- Project to deploy GLPI with docker
- Table of Contents
- Introduction
- Deploy with CLI
- Deploy with docker-compose
- Environnment variables
Introduction
Install and run an GLPI instance with docker
Default accounts
More info in the 📄Docs
| Login/Password | Role | 
|---|---|
| glpi/glpi | admin account | 
| tech/tech | technical account | 
| normal/normal | "normal" account | 
| post-only/postonly | post-only account | 
Deploy with CLI
Deploy GLPI
docker run --name mariadb -e MARIADB_ROOT_PASSWORD=diouxx -e MARIADB_DATABASE=glpidb -e MARIADB_USER=glpi_user -e MARIADB_PASSWORD=glpi -d mariadb:10.7
docker run --name glpi --link mariadb:mariadb -p 80:80 -d diouxx/glpi
Deploy GLPI with existing database
docker run --name glpi --link yourdatabase:mariadb -p 80:80 -d diouxx/glpi
Deploy GLPI with database and persistence data
For an usage on production environnement or daily usage, it's recommanded to use container with volumes to persistent data.
- First, create MariaDB container with volume
docker run --name mariadb -e MARIADB_ROOT_PASSWORD=diouxx -e MARIADB_DATABASE=glpidb -e MARIADB_USER=glpi_user -e MARIADB_PASSWORD=glpi --volume /var/lib/mysql:/var/lib/mysql -d mariadb:10.7
- Then, create GLPI container with volume and link MariaDB container
docker run --name glpi --link mariadb:mariadb --volume /var/www/html/glpi:/var/www/html/glpi -p 80:80 -d diouxx/glpi
Enjoy :)
Deploy a specific release of GLPI
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 mariadb:mariadb --volume /var/www/html/glpi:/var/www/html/glpi -p 80:80 --env "VERSION_GLPI=9.1.6" -d diouxx/glpi
Deploy with docker-compose
Deploy without persistence data ( for quickly test )
version: "3.8"
services:
#MariaDB Container
  mariadb:
    image: mariadb:10.7
    container_name: mariadb
    hostname: mariadb
    environment:
      - MARIADB_ROOT_PASSWORD=password
      - MARIADB_DATABASE=glpidb
      - MARIADB_USER=glpi_user
      - MARIADB_PASSWORD=glpi
#GLPI Container
  glpi:
    image: diouxx/glpi
    container_name : glpi
    hostname: glpi
    ports:
      - "80:80"
Deploy a specific release
version: "3.8"
services:
#MariaDB Container
  mariadb:
    image: mariadb:10.7
    container_name: mariadb
    hostname: mariadb
    environment:
      - MARIADB_ROOT_PASSWORD=password
      - MARIADB_DATABASE=glpidb
      - MARIADB_USER=glpi_user
      - MARIADB_PASSWORD=glpi
#GLPI Container
  glpi:
    image: diouxx/glpi
    container_name : glpi
    hostname: glpi
    environment:
      - VERSION_GLPI=9.5.6
    ports:
      - "80:80"
Deploy with persistence data
To deploy with docker compose, you use docker-compose.yml and mariadb.env file. You can modify mariadb.env to personalize settings like :
- MariaDB root password
- GLPI database
- GLPI user database
- GLPI user password
mariadb.env
MARIADB_ROOT_PASSWORD=diouxx
MARIADB_DATABASE=glpidb
MARIADB_USER=glpi_user
MARIADB_PASSWORD=glpi
docker-compose .yml
version: "3.2"
services:
#MariaDB Container
  mariadb:
    image: mariadb:10.7
    container_name: mariadb
    hostname: mariadb
    volumes:
      - /var/lib/mysql:/var/lib/mysql
    env_file:
      - ./mariadb.env
    restart: always
#GLPI Container
  glpi:
    image: diouxx/glpi
    container_name : glpi
    hostname: glpi
    ports:
      - "80:80"
    volumes:
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
      - /var/www/html/glpi/:/var/www/html/glpi
    environment:
      - TIMEZONE=Europe/Brussels
    restart: always
To deploy, just run the following command on the same directory as files
docker-compose up -d
Environnment variables
TIMEZONE
If you need to set timezone for Apache and PHP
From commande line
docker run --name glpi --hostname glpi --link mariadb:mariadb --volumes-from glpi-data -p 80:80 --env "TIMEZONE=Europe/Brussels" -d diouxx/glpi
From docker-compose
Modify this settings
environment:
     TIMEZONE=Europe/Brussels