2 Commits
Author SHA1 Message Date
DiouxX d6c567820b Merge branch 'master' of github.com:DiouxX/docker-glpi into 9.1.2 2017-05-05 08:08:37 +02:00
DiouxX 6a50b6e787 Bug Fix#2 LDAPS authentification 2017-04-28 15:54:55 +02:00
5 changed files with 46 additions and 113 deletions

No files matched your search

-1
View File
@@ -1 +0,0 @@
docker-compose-test.yml
+8 -16
View File
@@ -8,25 +8,17 @@ ENV DEBIAN_FRONTEND noninteractive
#Installation d'apache et de php5 avec extension
RUN apt update \
&& apt -y upgrade \
&& apt -y install \
apache2 \
php \
php-mysql \
php-ldap \
php-xmlrpc \
php-imap \
php5 \
php5-mysql \
php5-ldap \
php5-xmlrpc \
php5-imap \
curl \
php-curl \
php-gd \
php-mbstring \
php-xml \
php-apcu-bc \
php-cas \
cron \
wget \
jq \
snmpd
php5-curl \
php5-gd \
wget
#Copie et execution du script pour l'installation et l'initialisation de GLPI
COPY glpi-start.sh /opt/
+3 -44
View File
@@ -2,22 +2,7 @@
[![](https://images.microbadger.com/badges/version/diouxx/glpi.svg)](http://microbadger.com/images/diouxx/glpi "Get your own version badge on microbadger.com") [![](https://images.microbadger.com/badges/image/diouxx/glpi.svg)](http://microbadger.com/images/diouxx/glpi "Get your own image badge on microbadger.com")
# Table of Contents
1. [Introduction](#introduction)
2. [Deploy CLI](#deploy-with-CLI)
- [Deploy GLPI without database](#deploy-glpi-without-database)
- [Deploy GLPI with existing database](#deploy-glpi-with-existing-database)
- [Deploy GLPI with database and persistance container data](#deploy-glpi-with-database-and-persistance-container-data)
- [Deploy a specific release of GLPI](#deploy-a-specific-release-of-glpi)
3. [Deploy docker-compose](#deploy-with-docker-compose)
4. [Environnment variables](#environnment-variables)
- [Timezone](#timezone)
# Introduction
Install and run an GLPI instance with docker.
# Deploy with CLI
Install and run an GLPI instance with docker
## Deploy GLPI without database
```sh
@@ -29,7 +14,7 @@ docker run --name glpi -p 80:80 -d diouxx/glpi
docker run --name glpi --link yourdatabase:mysql -p 80:80 -d diouxx/glpi
```
## Deploy GLPI with database and persistance container data
## Deploy GLPI with database and persistance container data (Recommended)
For an usage on production environnement or daily usage, it's recommanded to use a data container for persistent data.
@@ -47,15 +32,7 @@ docker run --name glpi --hostname glpi --link mysql:mysql --volumes-from glpi-da
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 use the latest release.
Here an example for release 9.1.6 :
```sh
docker run --name glpi --hostname glpi --link mysql:mysql --volumes-from glpi-data -p 80:80 --env "VERSION_GLPI=9.1.6" -d diouxx/glpi
```
# Deploy with docker-compose
## Deploy with docker-compose
To deploy with docker compose, you use *docker-compose.yml* and *mysql.env* file.
You can modify **_mysql.env_** to personalize settings like :
@@ -70,21 +47,3 @@ 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 mysql:mysql --volumes-from glpi-data -p 80:80 --env "TIMEZONE=Europe/Brussels" -d diouxx/glpi
```
From docker-compose
Modify this settings
```yml
environment:
TIMEZONE=Europe/Brussels
```
+32 -25
View File
@@ -1,29 +1,36 @@
version: "3"
#Mysql Persitance Data
mysql-data:
image: busybox
container_name: mysql-data
volumes:
- /var/lib/mysql:/var/lib/mysql
services:
#Mysql Container
mysql:
image: mysql:5.7.23
container_name: mysql
hostname: mysql
volumes:
- /var/lib/mysql:/var/lib/mysql
env_file:
- ./mysql.env
mysql:
image: mysql
container_name: mysql
hostname: mysql
volumes_from:
- mysql-data
env_file:
- ./mysql.env
#GLPI Pesitance Data
glpi-data:
image: busybox
container_name: glpi-data
volumes:
- /var/www/html/glpi:/var/www/html/glpi
#GLPI Container
glpi:
image: diouxx/glpi
container_name : glpi
hostname: glpi
ports:
- "80:80"
links:
- mysql:mysql
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
glpi:
image: diouxx/glpi
container_name : glpi
hostname: glpi
ports:
- "80:80"
links:
- mysql:mysql
volumes_from:
- glpi-data
restart: always
+3 -27
View File
@@ -1,15 +1,8 @@
#!/bin/bash
#Controle du choix de version ou prise de la latest
[[ ! "$VERSION_GLPI" ]] \
&& VERSION_GLPI=$(curl -s https://api.github.com/repos/glpi-project/glpi/releases/latest | grep tag_name | cut -d '"' -f 4)
if [[ -z "${TIMEZONE}" ]]; then echo "TIMEZONE is unset";
else echo "date.timezone = \"$TIMEZONE\"" > /etc/php/7.0/apache2/conf.d/timezone.ini;
fi
SRC_GLPI=$(curl -s https://api.github.com/repos/glpi-project/glpi/releases/tags/${VERSION_GLPI} | jq .assets[0].browser_download_url | tr -d \")
TAR_GLPI=$(basename ${SRC_GLPI})
VERSION_GLPI=9.1.2
SRC_GLPI=https://github.com/glpi-project/glpi/releases/download/${VERSION_GLPI}/glpi-${VERSION_GLPI}.tgz
TAR_GLPI=glpi-${VERSION_GLPI}.tgz
FOLDER_GLPI=glpi/
FOLDER_WEB=/var/www/html/
@@ -37,22 +30,5 @@ echo -e "<VirtualHost *:80>\n\tDocumentRoot /var/www/html/glpi\n\n\t<Directory /
#Activation du module rewrite d'apache
a2enmod rewrite && service apache2 restart && service apache2 stop
######################
# CRON CONFIGURATION #
######################
#Add scheduled task by cron and enable
echo "*/2 * * * * www-data /usr/bin/php /var/www/html/glpi/front/cron.php &>/dev/null" >> /etc/cron.d/glpi
#Start cron service
service cron start
######################
# SNMP CONFIGURATION #
######################
#Replace Listen localhot SNMP and restart service
sed -ie "s/agentAddress udp:127.0.0.1:161/agentAdrress udp:161/g" /etc/snmp/snmpd.conf
service snmpd restart
#Lancement du service apache au premier plan
/usr/sbin/apache2ctl -D FOREGROUND