From facd74bc7b7dd8dccd78ab9dce8feb127f3679b3 Mon Sep 17 00:00:00 2001 From: Antoine Guyon Date: Tue, 9 Mar 2021 10:27:16 +0100 Subject: [PATCH 01/30] Create main.yml --- .github/workflows/main.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..1c7b139 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,21 @@ +name: Docker GLPI Build + +on: [push] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: docker login + env: + DOCKER_USER: ${{ secrets.DOCKER_USER }} + DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} + run: | + docker login -u $DOCKER_USER -p $DOCKER_PASSWORD + - name: docker build glpi + run: | + docker build . -t aguyonnet/glpi-test:1.0.0 + - name: docker push + run: | + docker push aguyonnet/glpi-test:1.0.0 From f8f3ddb39db5ae1ce5afe68ff54eaf30ffcbf1fe Mon Sep 17 00:00:00 2001 From: Antoine Guyon Date: Tue, 9 Mar 2021 10:38:05 +0100 Subject: [PATCH 02/30] Update docker-compose.yml --- docker-compose.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index d620157..0de5d30 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,10 +1,10 @@ -version: "3.2" +version: "3.5" services: #Mysql Container mysql: - image: mysql:5.7.23 - container_name: mysql + image: mariadb + container_name: glpi-mariadb hostname: mysql volumes: - /var/lib/mysql:/var/lib/mysql @@ -14,7 +14,7 @@ services: #GLPI Container glpi: - image: diouxx/glpi + image: aguyonnet/glpi container_name : glpi hostname: glpi ports: @@ -24,5 +24,5 @@ services: - /etc/localtime:/etc/localtime:ro - /var/www/html/glpi/:/var/www/html/glpi environment: - - TIMEZONE=Europe/Brussels - restart: always \ No newline at end of file + - TIMEZONE=Europe/Paris + restart: always From a13a33662032b12bb81692d5b16872ec2610ef96 Mon Sep 17 00:00:00 2001 From: Antoine Guyon Date: Tue, 9 Mar 2021 10:38:36 +0100 Subject: [PATCH 03/30] Update mysql.env --- mysql.env | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mysql.env b/mysql.env index 8862982..150572b 100644 --- a/mysql.env +++ b/mysql.env @@ -1,4 +1,4 @@ -MYSQL_ROOT_PASSWORD=diouxx +MYSQL_ROOT_PASSWORD=CHANGEME MYSQL_DATABASE=glpidb MYSQL_USER=glpi_user -MYSQL_PASSWORD=glpi +MYSQL_PASSWORD=CHANGEME From 4031010d7cff4ba8147b480d78ccad1b94611b34 Mon Sep 17 00:00:00 2001 From: Antoine Guyon Date: Tue, 9 Mar 2021 10:41:29 +0100 Subject: [PATCH 04/30] Update main.yml --- .github/workflows/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1c7b139..44abfd7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,6 +1,7 @@ name: Docker GLPI Build -on: [push] +#on: [push] +on: [workflow_dispatch] jobs: build: From e80746e8f352c8c25f5a4bafc5f21491c1e50cb8 Mon Sep 17 00:00:00 2001 From: Antoine Guyon Date: Tue, 9 Mar 2021 10:52:27 +0100 Subject: [PATCH 05/30] Update README.md --- README.md | 166 +----------------------------------------------------- 1 file changed, 1 insertion(+), 165 deletions(-) diff --git a/README.md b/README.md index b9894ac..489d840 100644 --- a/README.md +++ b/README.md @@ -1,165 +1 @@ -# Project to deploy GLPI with docker - -![Docker Pulls](https://img.shields.io/docker/pulls/diouxx/glpi) ![Docker Stars](https://img.shields.io/docker/stars/diouxx/glpi) [![](https://images.microbadger.com/badges/image/diouxx/glpi.svg)](http://microbadger.com/images/diouxx/glpi "Get your own image badge on microbadger.com") ![Docker Cloud Automated build](https://img.shields.io/docker/cloud/automated/diouxx/glpi) - -# Table of Contents -- [Project to deploy GLPI with docker](#project-to-deploy-glpi-with-docker) -- [Table of Contents](#table-of-contents) -- [Introduction](#introduction) -- [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 container data](#deploy-glpi-with-database-and-persistence-container-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 with persistence data](#deploy-with-persistence-data) - - [mysql.env](#mysqlenv) - - [docker-compose .yml](#docker-compose-yml) -- [Environnment variables](#environnment-variables) - - [TIMEZONE](#timezone) - -# Introduction - -Install and run an GLPI instance with docker. - -# Deploy with CLI - -## Deploy GLPI -```sh -docker run --name mysql -e MYSQL_ROOT_PASSWORD=diouxx -e MYSQL_DATABASE=glpidb -e MYSQL_USER=glpi_user -e MYSQL_PASSWORD=glpi -d mysql:5.7.23 -docker run --name glpi --link mysql:mysql -p 80:80 -d diouxx/glpi -``` - -## Deploy GLPI with existing database -```sh -docker run --name glpi --link yourdatabase:mysql -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 MySQL container with volume - -```sh -docker run --name mysql -e MYSQL_ROOT_PASSWORD=diouxx -e MYSQL_DATABASE=glpidb -e MYSQL_USER=glpi_user -e MYSQL_PASSWORD=glpi --volume /var/lib/mysql:/var/lib/mysql -d mysql:5.7.23 -``` - -* Then, create GLPI container with volume and link MySQL container - -```sh -docker run --name glpi --link mysql:mysql --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 mysql:mysql --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.2" - -services: -#Mysql Container - mysql: - image: mysql:5.7.23 - container_name: mysql - hostname: mysql - environment: - - MYSQL_ROOT_PASSWORD=password - - MYSQL_DATABASE=glpidb - - MYSQL_USER=glpi_user - - MYSQL_PASSWORD=glpi - -#GLPI Container - glpi: - image: diouxx/glpi - container_name : glpi - hostname: glpi - ports: - - "80:80" -``` - -## Deploy with persistence data - -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.env -``` -MYSQL_ROOT_PASSWORD=diouxx -MYSQL_DATABASE=glpidb -MYSQL_USER=glpi_user -MYSQL_PASSWORD=glpi -``` - -### docker-compose .yml -```yaml -version: "3.2" - -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 - 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 mysql:mysql --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 -``` +GLPI From 2d59669275e682f0d351ef23e4299a7aeed8e6da Mon Sep 17 00:00:00 2001 From: Antoine Guyon Date: Tue, 9 Mar 2021 11:10:05 +0100 Subject: [PATCH 06/30] Update README.md --- README.md | 117 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 116 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 489d840..818c4e4 100644 --- a/README.md +++ b/README.md @@ -1 +1,116 @@ -GLPI +# Project to deploy GLPI with docker + +![Docker Pulls](https://img.shields.io/docker/pulls/aguyonnet/glpi) ![Docker Stars](https://img.shields.io/docker/stars/aguyonnet/glpi) +# Introduction + +Install and run an GLPI instance with docker. + +## 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 -p 80:80 --env "VERSION_GLPI=9.1.6" -d aguyonnet/glpi +``` + +# Deploy with docker-compose + +## Deploy without persistence data ( for quickly test ) +```yaml +version: "3.2" + +services: +#mariadb Container + mariadb: + image: mariadb:latest + container_name: mariadb + hostname: mariadb + environment: + - mariadb_ROOT_PASSWORD=password + - mariadb_DATABASE=glpidb + - mariadb_USER=glpi_user + - mariadb_PASSWORD=glpi + +#GLPI Container + glpi: + image: aguyonnet/glpi + container_name : glpi + hostname: glpi + 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=aguyonnet +mariadb_DATABASE=glpidb +mariadb_USER=glpi_user +mariadb_PASSWORD=glpi +``` + +### docker-compose .yml +```yaml +version: "3.2" + +services: +#mariadb Container + mariadb: + image: mariadb:latest + container_name: mariadb-glpi + hostname: mariadb + volumes: + - /var/lib/mysql:/var/lib/mysql + env_file: + - ./mariadb.env + restart: always + +#GLPI Container + glpi: + image: aguyonnet/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/Paris + 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 -p 80:80 --env "TIMEZONE=Europe/Paris" -d aguyonnet/glpi +``` + +From docker-compose + +Modify this settings +```yaml +environment: + TIMEZONE=Europe/Paris +``` From 373f2d913e260429260ee282b009e13f346d4d30 Mon Sep 17 00:00:00 2001 From: Antoine Guyon Date: Tue, 9 Mar 2021 11:10:40 +0100 Subject: [PATCH 07/30] Rename mysql.env to mariadb.env --- mysql.env => mariadb.env | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename mysql.env => mariadb.env (100%) diff --git a/mysql.env b/mariadb.env similarity index 100% rename from mysql.env rename to mariadb.env From 298f475989c514f8cd5ad0577c703609044547a1 Mon Sep 17 00:00:00 2001 From: Antoine Guyon Date: Tue, 9 Mar 2021 11:12:22 +0100 Subject: [PATCH 08/30] Rename main.yml to docker.yml --- .github/workflows/{main.yml => docker.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/{main.yml => docker.yml} (100%) diff --git a/.github/workflows/main.yml b/.github/workflows/docker.yml similarity index 100% rename from .github/workflows/main.yml rename to .github/workflows/docker.yml From 64e91f087f705cdd8efdc5af53f79e48a320544e Mon Sep 17 00:00:00 2001 From: Antoine Guyon Date: Tue, 9 Mar 2021 11:13:17 +0100 Subject: [PATCH 09/30] Update docker-compose.yml --- docker-compose.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 0de5d30..d2c7a0d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,15 +1,15 @@ -version: "3.5" +version: "3.2" services: -#Mysql Container - mysql: - image: mariadb - container_name: glpi-mariadb - hostname: mysql +#mariadb Container + mariadb: + image: mariadb:latest + container_name: mariadb-glpi + hostname: mariadb volumes: - /var/lib/mysql:/var/lib/mysql env_file: - - ./mysql.env + - ./mariadb.env restart: always #GLPI Container From f11f4853b4d545734cf9ac975198b7bbf8ce5e60 Mon Sep 17 00:00:00 2001 From: Antoine Guyon Date: Tue, 9 Mar 2021 11:14:57 +0100 Subject: [PATCH 10/30] Update docker.yml --- .github/workflows/docker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 44abfd7..1113401 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -16,7 +16,7 @@ jobs: docker login -u $DOCKER_USER -p $DOCKER_PASSWORD - name: docker build glpi run: | - docker build . -t aguyonnet/glpi-test:1.0.0 + docker build . -t aguyonnet/glpi-test:$(curl -s https://api.github.com/repos/glpi-project/glpi/releases/latest | grep tag_name | cut -d '"' -f 4) - name: docker push run: | - docker push aguyonnet/glpi-test:1.0.0 + docker push aguyonnet/glpi-test:$(curl -s https://api.github.com/repos/glpi-project/glpi/releases/latest | grep tag_name | cut -d '"' -f 4) From 2198e8d8ff26297e19a7ca9bd8f141629ac24faf Mon Sep 17 00:00:00 2001 From: Antoine Guyon Date: Tue, 9 Mar 2021 11:23:00 +0100 Subject: [PATCH 11/30] Update docker.yml --- .github/workflows/docker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 1113401..f77389e 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -16,7 +16,7 @@ jobs: docker login -u $DOCKER_USER -p $DOCKER_PASSWORD - name: docker build glpi run: | - docker build . -t aguyonnet/glpi-test:$(curl -s https://api.github.com/repos/glpi-project/glpi/releases/latest | grep tag_name | cut -d '"' -f 4) + docker build . -t aguyonnet/glpi:$(curl -s https://api.github.com/repos/glpi-project/glpi/releases/latest | grep tag_name | cut -d '"' -f 4) -t aguyonnet/glpi:latest - name: docker push run: | - docker push aguyonnet/glpi-test:$(curl -s https://api.github.com/repos/glpi-project/glpi/releases/latest | grep tag_name | cut -d '"' -f 4) + docker push aguyonnet/glpi:$(curl -s https://api.github.com/repos/glpi-project/glpi/releases/latest | grep tag_name | cut -d '"' -f 4) aguyonnet/glpi:latest From cd4d9a0ced693a41ee38ba8f3afd05ee26d4bdbf Mon Sep 17 00:00:00 2001 From: Antoine Guyon Date: Tue, 9 Mar 2021 11:24:09 +0100 Subject: [PATCH 12/30] Update docker.yml --- .github/workflows/docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index f77389e..39ff72d 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -19,4 +19,4 @@ jobs: docker build . -t aguyonnet/glpi:$(curl -s https://api.github.com/repos/glpi-project/glpi/releases/latest | grep tag_name | cut -d '"' -f 4) -t aguyonnet/glpi:latest - name: docker push run: | - docker push aguyonnet/glpi:$(curl -s https://api.github.com/repos/glpi-project/glpi/releases/latest | grep tag_name | cut -d '"' -f 4) aguyonnet/glpi:latest + docker push aguyonnet/glpi:$(curl -s https://api.github.com/repos/glpi-project/glpi/releases/latest | grep tag_name | cut -d '"' -f 4) From 28d16da29c71d31230079ed6510a9589affd0bff Mon Sep 17 00:00:00 2001 From: Antoine Guyon Date: Tue, 9 Mar 2021 11:29:43 +0100 Subject: [PATCH 13/30] Create glpi-install.sh --- glpi-install.sh | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 glpi-install.sh diff --git a/glpi-install.sh b/glpi-install.sh new file mode 100644 index 0000000..2fe74f2 --- /dev/null +++ b/glpi-install.sh @@ -0,0 +1,37 @@ +#!/bin/bash + +#Prise de la latest +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.3/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}) +FOLDER_GLPI=glpi/ +FOLDER_WEB=/var/www/html/ + +#check if TLS_REQCERT is present +if !(grep -q "TLS_REQCERT" /etc/ldap/ldap.conf) +then + echo "TLS_REQCERT isn't present" + echo -e "TLS_REQCERT\tnever" >> /etc/ldap/ldap.conf +fi + +#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 + +#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 From 8498ed6777b32c0c55128cbfe34254786e1976a0 Mon Sep 17 00:00:00 2001 From: Antoine Guyon Date: Tue, 9 Mar 2021 11:30:05 +0100 Subject: [PATCH 14/30] Update glpi-start.sh --- glpi-start.sh | 36 ------------------------------------ 1 file changed, 36 deletions(-) diff --git a/glpi-start.sh b/glpi-start.sh index dd044cc..7feb7fe 100644 --- a/glpi-start.sh +++ b/glpi-start.sh @@ -1,41 +1,5 @@ #!/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.3/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}) -FOLDER_GLPI=glpi/ -FOLDER_WEB=/var/www/html/ - -#check if TLS_REQCERT is present -if !(grep -q "TLS_REQCERT" /etc/ldap/ldap.conf) -then - echo "TLS_REQCERT isn't present" - echo -e "TLS_REQCERT\tnever" >> /etc/ldap/ldap.conf -fi - -#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 - -#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 From b15a758d90d2b4d1e9288eda31446bedb106f41d Mon Sep 17 00:00:00 2001 From: Antoine Guyon Date: Tue, 9 Mar 2021 11:33:21 +0100 Subject: [PATCH 15/30] Update Dockerfile --- Dockerfile | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 0c37521..5043077 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ #On choisit une debian -FROM debian:10.4 +FROM debian:latest -MAINTAINER DiouxX "github@diouxx.be" +MAINTAINER Aguyonnet "f.guyonantoine@gmail.com" #Ne pas poser de question à l'installation ENV DEBIAN_FRONTEND noninteractive @@ -32,9 +32,10 @@ jq \ && rm -rf /var/lib/apt/lists/* #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 +COPY glpi-start.sh glpi-install.sh /opt/ +RUN chmod +x /opt/glpi-start.sh /opt/glpi-install.sh +RUN sh /opt/glpi-install.sh ENTRYPOINT ["/opt/glpi-start.sh"] #Exposition des ports -EXPOSE 80 443 +EXPOSE 80 From bd8d9d6544b5a10babf44961b1f757342996e6ab Mon Sep 17 00:00:00 2001 From: Antoine Guyon Date: Tue, 9 Mar 2021 11:33:57 +0100 Subject: [PATCH 16/30] Update docker.yml --- .github/workflows/docker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 39ff72d..64129f4 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -16,7 +16,7 @@ jobs: docker login -u $DOCKER_USER -p $DOCKER_PASSWORD - name: docker build glpi run: | - docker build . -t aguyonnet/glpi:$(curl -s https://api.github.com/repos/glpi-project/glpi/releases/latest | grep tag_name | cut -d '"' -f 4) -t aguyonnet/glpi:latest + docker build . -t aguyonnet/glpi-test:$(curl -s https://api.github.com/repos/glpi-project/glpi/releases/latest | grep tag_name | cut -d '"' -f 4) -t aguyonnet/glpi-test:latest - name: docker push run: | - docker push aguyonnet/glpi:$(curl -s https://api.github.com/repos/glpi-project/glpi/releases/latest | grep tag_name | cut -d '"' -f 4) + docker push aguyonnet/glpi-test:$(curl -s https://api.github.com/repos/glpi-project/glpi/releases/latest | grep tag_name | cut -d '"' -f 4) From 9e08de97144a7ee03b8d182baf6842b2289b4c19 Mon Sep 17 00:00:00 2001 From: Antoine Guyon Date: Tue, 9 Mar 2021 11:40:07 +0100 Subject: [PATCH 17/30] Update Dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 5043077..7575be7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -34,7 +34,7 @@ jq \ #Copie et execution du script pour l'installation et l'initialisation de GLPI COPY glpi-start.sh glpi-install.sh /opt/ RUN chmod +x /opt/glpi-start.sh /opt/glpi-install.sh -RUN sh /opt/glpi-install.sh +RUN bash /opt/glpi-install.sh ENTRYPOINT ["/opt/glpi-start.sh"] #Exposition des ports From c9bb6012990225155adab5f627f79f9185f62ade Mon Sep 17 00:00:00 2001 From: Antoine Guyon Date: Tue, 9 Mar 2021 11:40:27 +0100 Subject: [PATCH 18/30] Update Dockerfile --- Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile b/Dockerfile index 7575be7..defcd2e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,6 +9,7 @@ ENV DEBIAN_FRONTEND noninteractive #Installation d'apache et de php7.3 avec extension RUN apt update \ && apt install --yes --no-install-recommends \ +apt-utils \ apache2 \ php7.3 \ php7.3-mysql \ From 01aecb0528608052bc34907b0790df9b4f42da43 Mon Sep 17 00:00:00 2001 From: Antoine Guyon Date: Tue, 9 Mar 2021 11:41:25 +0100 Subject: [PATCH 19/30] Update docker.yml --- .github/workflows/docker.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 64129f4..4706f92 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -20,3 +20,4 @@ jobs: - name: docker push run: | docker push aguyonnet/glpi-test:$(curl -s https://api.github.com/repos/glpi-project/glpi/releases/latest | grep tag_name | cut -d '"' -f 4) + docker push aguyonnet/glpi-test:latest From a97cce8b3c9d1a0c437ba2bf79456a588ec4764a Mon Sep 17 00:00:00 2001 From: Antoine Guyon Date: Tue, 9 Mar 2021 11:46:38 +0100 Subject: [PATCH 20/30] Update glpi-install.sh --- glpi-install.sh | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/glpi-install.sh b/glpi-install.sh index 2fe74f2..0ed3652 100644 --- a/glpi-install.sh +++ b/glpi-install.sh @@ -20,15 +20,10 @@ then fi #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 +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} #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 From f9e55cc4d2711a9c112e1525267a67e9599194f3 Mon Sep 17 00:00:00 2001 From: Antoine Guyon Date: Tue, 9 Mar 2021 11:53:55 +0100 Subject: [PATCH 21/30] Update glpi-install.sh --- glpi-install.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/glpi-install.sh b/glpi-install.sh index 0ed3652..48cb64b 100644 --- a/glpi-install.sh +++ b/glpi-install.sh @@ -2,6 +2,8 @@ #Prise de la latest VERSION_GLPI=$(curl -s https://api.github.com/repos/glpi-project/glpi/releases/latest | grep tag_name | cut -d '"' -f 4) +#Pour utiliser une version specifique: +#VERSION_GLPI=9.5.4 if [[ -z "${TIMEZONE}" ]]; then echo "TIMEZONE is unset"; else echo "date.timezone = \"$TIMEZONE\"" > /etc/php/7.3/apache2/conf.d/timezone.ini; From 1305513f8c977203ee6b1bb56f6ba2d8bda001a8 Mon Sep 17 00:00:00 2001 From: Antoine Guyon Date: Tue, 9 Mar 2021 11:55:59 +0100 Subject: [PATCH 22/30] Update README.md --- README.md | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/README.md b/README.md index 818c4e4..b2c91c5 100644 --- a/README.md +++ b/README.md @@ -6,12 +6,7 @@ Install and run an GLPI instance with docker. ## 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 -p 80:80 --env "VERSION_GLPI=9.1.6" -d aguyonnet/glpi -``` +Edit the glpi-install.sh specify a version in the VERSION_GLPI var # Deploy with docker-compose From c88f835ac7a49c9d6fb8281a466c3ba189fff4c6 Mon Sep 17 00:00:00 2001 From: Antoine Guyon Date: Tue, 9 Mar 2021 11:56:43 +0100 Subject: [PATCH 23/30] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b2c91c5..15030d2 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Install and run an GLPI instance with docker. ## Deploy a specific release of GLPI -Edit the glpi-install.sh specify a version in the VERSION_GLPI var +Edit the glpi-install.sh specify a version in the VERSION_GLPI var, then launch a build # Deploy with docker-compose From c1ec3454a62f57e6923316179a838050205d5e2b Mon Sep 17 00:00:00 2001 From: Antoine Guyon Date: Tue, 9 Mar 2021 14:08:03 +0100 Subject: [PATCH 25/30] Update docker.yml --- .github/workflows/docker.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 4706f92..bd035f8 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -16,8 +16,8 @@ jobs: docker login -u $DOCKER_USER -p $DOCKER_PASSWORD - name: docker build glpi run: | - docker build . -t aguyonnet/glpi-test:$(curl -s https://api.github.com/repos/glpi-project/glpi/releases/latest | grep tag_name | cut -d '"' -f 4) -t aguyonnet/glpi-test:latest + docker build . -t aguyonnet/glpi:$(curl -s https://api.github.com/repos/glpi-project/glpi/releases/latest | grep tag_name | cut -d '"' -f 4) -t aguyonnet/glpi:latest - name: docker push run: | - docker push aguyonnet/glpi-test:$(curl -s https://api.github.com/repos/glpi-project/glpi/releases/latest | grep tag_name | cut -d '"' -f 4) - docker push aguyonnet/glpi-test:latest + docker push aguyonnet/glpi:$(curl -s https://api.github.com/repos/glpi-project/glpi/releases/latest | grep tag_name | cut -d '"' -f 4) + docker push aguyonnet/glpi:latest From 90f4083cb290d501bb5af2c066f0d1a8833c24fe Mon Sep 17 00:00:00 2001 From: Antoine Guyon Date: Thu, 11 Mar 2021 17:32:29 +0100 Subject: [PATCH 26/30] Add package apache2-utils --- Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile b/Dockerfile index defcd2e..6d6d441 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,6 +11,7 @@ RUN apt update \ && apt install --yes --no-install-recommends \ apt-utils \ apache2 \ +apache2-utils \ php7.3 \ php7.3-mysql \ php7.3-ldap \ From 065f01301cf3542af397c225927b90915edc2a26 Mon Sep 17 00:00:00 2001 From: Antoine Guyon Date: Mon, 15 Mar 2021 10:59:41 +0100 Subject: [PATCH 27/30] Update mariadb.env variable --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 15030d2..64663d1 100644 --- a/README.md +++ b/README.md @@ -48,10 +48,10 @@ You can modify **_mariadb.env_** to personalize settings like : ### mariadb.env ``` -mariadb_ROOT_PASSWORD=aguyonnet -mariadb_DATABASE=glpidb -mariadb_USER=glpi_user -mariadb_PASSWORD=glpi +MYSQL_ROOT_PASSWORD=aguyonnet +MYSQL_DATABASE=glpidb +MYSQL_USER=glpi_user +MYSQL_PASSWORD=glpi ``` ### docker-compose .yml From 3ec82c6f0a6c71579ac88090bd1109d4faf42715 Mon Sep 17 00:00:00 2001 From: Antoine Guyon Date: Tue, 16 Mar 2021 15:20:02 +0100 Subject: [PATCH 28/30] update volumes in docker-compose example --- README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 64663d1..1153131 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,7 @@ services: container_name: mariadb-glpi hostname: mariadb volumes: - - /var/lib/mysql:/var/lib/mysql + - glpi-db:/var/lib/mysql env_file: - ./mariadb.env restart: always @@ -80,10 +80,13 @@ services: volumes: - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro - - /var/www/html/glpi/:/var/www/html/glpi + - glpi-data:/var/www/html/glpi environment: - TIMEZONE=Europe/Paris restart: always +volumes: + glpi-db: + glpi-data: ``` To deploy, just run the following command on the same directory as files From 425249face3dbcc2626dfaf64e7c8f2d0873beb8 Mon Sep 17 00:00:00 2001 From: Antoine Guyon Date: Tue, 16 Mar 2021 15:21:20 +0100 Subject: [PATCH 29/30] update volumes in docker-compose and version --- docker-compose.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index d2c7a0d..18ae590 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,4 +1,4 @@ -version: "3.2" +version: "3.5" services: #mariadb Container @@ -7,7 +7,7 @@ services: container_name: mariadb-glpi hostname: mariadb volumes: - - /var/lib/mysql:/var/lib/mysql + - glpi-db:/var/lib/mysql env_file: - ./mariadb.env restart: always @@ -22,7 +22,11 @@ services: volumes: - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro - - /var/www/html/glpi/:/var/www/html/glpi + - glpi-data:/var/www/html/glpi environment: - TIMEZONE=Europe/Paris restart: always + +volumes: + glpi-db: + glpi-data: From ccc7dcbafd288d88903e30d37bdb3e9581f1c8fd Mon Sep 17 00:00:00 2001 From: Antoine Guyon Date: Tue, 16 Mar 2021 15:22:02 +0100 Subject: [PATCH 30/30] update docker-compose version --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1153131..70ff400 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ Edit the glpi-install.sh specify a version in the VERSION_GLPI var, then launch ## Deploy without persistence data ( for quickly test ) ```yaml -version: "3.2" +version: "3.5" services: #mariadb Container @@ -56,7 +56,7 @@ MYSQL_PASSWORD=glpi ### docker-compose .yml ```yaml -version: "3.2" +version: "3.5" services: #mariadb Container