diff --git a/Dockerfile b/Dockerfile index a467620..61e4e50 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,3 @@ -#Dockerfile pour créer une image docker de GLPi fonctionnelle (avec apache2 et php5) - #On choisit une debian FROM debian:latest @@ -8,12 +6,6 @@ MAINTAINER DiouxX "github@diouxx.be" #Ne pas poser de question à l'installation ENV DEBIAN_FRONTEND noninteractive -ENV VERSION_GLPI 0.90.5 -ENV SRC_GLPI https://github.com/glpi-project/glpi/releases/download/${VERSION_GLPI}/glpi-${VERSION_GLPI}.tar.gz -ENV TAR_GLPI glpi-${VERSION_GLPI}.tar.gz -ENV FOLDER_GLPI glpi/ -ENV FOLDER_WEB /var/www/html/ - #Installation d'apache et de php5 avec extension RUN apt update \ && apt -y install \ @@ -28,23 +20,10 @@ php5-curl \ php5-gd \ wget -#Téléchargement des sources de GLPI -RUN wget -P ${FOLDER_WEB} ${SRC_GLPI} \ - && tar -xf ${FOLDER_WEB}${TAR_GLPI} -C ${FOLDER_WEB}\ - && rm -Rf ${FOLDER_WEB}${TAR_GLPI} \ - && chown -R www-data:www-data ${FOLDER_WEB}${FOLDER_GLPI} - -#Modification du fichier -RUN echo "\n\tDocumentRoot /var/www/html/glpi\n\n\t\n\t\tAllowOverride All\n\t\tOrder Allow,Deny\n\t\tAllow from all\n\t\n\n\tErrorLog /var/log/apache2/error-glpi.log\n\tLogLevel warn\n\tCustomLog /var/log/apache2/access-glpi.log combined\n" > /etc/apache2/sites-available/000-default.conf - -#Activation du module rewrite d'apache -RUN a2enmod rewrite && service apache2 restart +#Copie et execution du script pour l'installation et l'initialisation de GLPI +COPY glpi-start.sh /opt/ +RUN chmod +x /opt/glpi-start.sh +ENTRYPOINT ["/opt/glpi-start.sh"] #Exposition des ports EXPOSE 80 443 - -#Partage du volume -VOLUME /var/www/html/glpi - -#Lancement du service apache a l'initialisation du conteneur -ENTRYPOINT ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"] diff --git a/docker-compose.yml b/docker-compose.yml index c7370fc..e42f4ac 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -15,6 +15,13 @@ mysql: 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 @@ -24,3 +31,5 @@ glpi: - "80:80" links: - mysql:mysql + volumes_from: + - glpi-data diff --git a/glpi-start.sh b/glpi-start.sh new file mode 100644 index 0000000..8be3583 --- /dev/null +++ b/glpi-start.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +VERSION_GLPI=0.90.5 +SRC_GLPI=https://github.com/glpi-project/glpi/releases/download/${VERSION_GLPI}/glpi-${VERSION_GLPI}.tar.gz +TAR_GLPI=glpi-${VERSION_GLPI}.tar.gz +FOLDER_GLPI=glpi/ +FOLDER_WEB=/var/www/html/ + +#Téléchargement et extraction des sources de GLPI +if [ "$(ls ${FOLDER_WEB}${FOLDER_GLPI})" ]; +then + echo "GLPI is already installed" +else + wget -P ${FOLDER_WEB} ${SRC_GLPI} + tar -xzf ${FOLDER_WEB}${TAR_GLPI} -C ${FOLDER_WEB} + rm -Rf ${FOLDER_WEB}${TAR_GLPI} + chown -R www-data:www-data ${FOLDER_WEB}${FOLDER_GLPI} +fi + +#Modification du vhost par défaut +echo -e "\n\tDocumentRoot /var/www/html/glpi\n\n\t\n\t\tAllowOverride All\n\t\tOrder Allow,Deny\n\t\tAllow from all\n\t\n\n\tErrorLog /var/log/apache2/error-glpi.log\n\tLogLevel warn\n\tCustomLog /var/log/apache2/access-glpi.log combined\n" > /etc/apache2/sites-available/000-default.conf + +#Activation du module rewrite d'apache +a2enmod rewrite && service apache2 restart && service apache2 stop + +#Lancement du service apache au premier plan +/usr/sbin/apache2ctl -D FOREGROUND