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.
		
		
		
		
		
			
		
			
				
					
					
						
							207 lines
						
					
					
						
							5.6 KiB
						
					
					
				
			
		
		
	
	
							207 lines
						
					
					
						
							5.6 KiB
						
					
					
				# Project to deploy GLPI with docker
 | 
						|
 | 
						|
  [](http://microbadger.com/images/diouxx/glpi "Get your own image badge on microbadger.com") 
 | 
						|
 | 
						|
# Table of Contents
 | 
						|
- [Project to deploy GLPI with docker](#project-to-deploy-glpi-with-docker)
 | 
						|
- [Table of Contents](#table-of-contents)
 | 
						|
- [Introduction](#introduction)
 | 
						|
  - [Default accounts](#default-accounts)
 | 
						|
- [Deploy with CLI](#deploy-with-cli)
 | 
						|
  - [Deploy GLPI](#deploy-glpi)
 | 
						|
  - [Deploy GLPI with existing database](#deploy-glpi-with-existing-database)
 | 
						|
  - [Deploy GLPI with database and persistence data](#deploy-glpi-with-database-and-persistence-data)
 | 
						|
  - [Deploy a specific release of GLPI](#deploy-a-specific-release-of-glpi)
 | 
						|
- [Deploy with docker-compose](#deploy-with-docker-compose)
 | 
						|
  - [Deploy without persistence data ( for quickly test )](#deploy-without-persistence-data--for-quickly-test-)
 | 
						|
  - [Deploy a specific release](#deploy-a-specific-release)
 | 
						|
  - [Deploy with persistence data](#deploy-with-persistence-data)
 | 
						|
    - [mariadb.env](#mariadbenv)
 | 
						|
    - [docker-compose .yml](#docker-compose-yml)
 | 
						|
- [Environnment variables](#environnment-variables)
 | 
						|
  - [TIMEZONE](#timezone)
 | 
						|
 | 
						|
# Introduction
 | 
						|
 | 
						|
Install and run an GLPI instance with docker
 | 
						|
 | 
						|
## Default accounts
 | 
						|
 | 
						|
More info in the 📄[Docs](https://glpi-install.readthedocs.io/en/latest/install/wizard.html#end-of-installation)
 | 
						|
 | 
						|
| 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 
 | 
						|
```sh
 | 
						|
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
 | 
						|
```sh
 | 
						|
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
 | 
						|
 | 
						|
```sh
 | 
						|
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
 | 
						|
 | 
						|
```sh
 | 
						|
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 :
 | 
						|
```sh
 | 
						|
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 )
 | 
						|
```yaml
 | 
						|
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
 | 
						|
 | 
						|
```yaml
 | 
						|
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
 | 
						|
```yaml
 | 
						|
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
 | 
						|
 | 
						|
```sh
 | 
						|
docker-compose up -d
 | 
						|
```
 | 
						|
 | 
						|
# Environnment variables
 | 
						|
 | 
						|
## TIMEZONE
 | 
						|
If you need to set timezone for Apache and PHP
 | 
						|
 | 
						|
From commande line
 | 
						|
```sh
 | 
						|
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
 | 
						|
```yaml
 | 
						|
environment:
 | 
						|
     TIMEZONE=Europe/Brussels
 | 
						|
```
 |