From 3eac3a5597ce855804d5e57c4a6ada9b03bfe3b7 Mon Sep 17 00:00:00 2001
From: Quentin Duchemin <quentinduchemin@tuta.io>
Date: Fri, 14 Aug 2020 23:27:57 +0200
Subject: [PATCH] [Dokuwiki] Improve configuration

---
 doc/guide_bonnes_pratiques.md    | 12 ++++++++++++
 pica-dokuwiki/CHANGELOG.md       |  6 ++++++
 pica-dokuwiki/Dockerfile         | 10 +++++++++-
 pica-dokuwiki/docker-compose.yml |  2 +-
 4 files changed, 28 insertions(+), 2 deletions(-)

diff --git a/doc/guide_bonnes_pratiques.md b/doc/guide_bonnes_pratiques.md
index 1dfe9f06..84c748c8 100644
--- a/doc/guide_bonnes_pratiques.md
+++ b/doc/guide_bonnes_pratiques.md
@@ -138,6 +138,18 @@ services:
       traefik.frontend.rule: <exemple>.picasoft.net
 ```
 
+## Healthcheck
+
+Les `HEALTHCHECK`, au sens Docker, permettent de vérifier qu'un conteneur est en "bonne santé", par exemple en lançant une commande de type `curl`.
+
+Ils sont en général définis dans le `Dockerfile`, ce qui force à reconstruire l'image si on veut les modifier.
+
+Il est donc intéressant de les [définir directement dans le fichier Compose](https://docs.docker.com/compose/compose-file/#healthcheck) pour plus de souplesse, voire d'écraser le `HEALTHCHECK` existant.
+
+Notez que lorsqu'un `HEALTHCHECK` est présent, Traefik ne prend pas en compte le conteneur tant que celui-ci n'est pas noté `healthy`. Si l'intervalle de vérification est d'une minute, il faudra donc au moins une minute pour que le conteneur soit accessible sur Internet.
+
+Si le service est "critique", il faudra donc choisir un intervalle court.
+
 ## Système init
 
 Tous les systèmes Linux ont un système dit `init`, correspondant au processus avec le premier PID (1). Ce processus est le parent de tous les autres, et doit transmettre les signaux qu'il reçoit à ses enfants (par exemple, un signal de terminaison).
diff --git a/pica-dokuwiki/CHANGELOG.md b/pica-dokuwiki/CHANGELOG.md
index 5bf056fa..78914d7d 100644
--- a/pica-dokuwiki/CHANGELOG.md
+++ b/pica-dokuwiki/CHANGELOG.md
@@ -1,3 +1,9 @@
+## pica-dokuwiki:hogfather-patch1
+
+* Activation du plugin `mbstring` de PHP
+* Réglage de la Timezone de PHP sur Europe/Paris
+* Réglage de la locale sur `fr_FR.UTF-8`
+
 ## pica-dokuwiki:hogfather
 
 Passage à la nouvelle version stable : `Release 2020-07-29 “Hogfather”`
diff --git a/pica-dokuwiki/Dockerfile b/pica-dokuwiki/Dockerfile
index 0249d342..9820d6c5 100644
--- a/pica-dokuwiki/Dockerfile
+++ b/pica-dokuwiki/Dockerfile
@@ -1,5 +1,5 @@
 FROM nginx:stable
-LABEL maintainer="antoine@barbare.me"
+LABEL maintainer="quentinduchemin@tuta.io"
 
 COPY --chown=www-data nginx.conf /etc/nginx/nginx.conf
 COPY --chown=www-data run.sh /
@@ -9,6 +9,8 @@ RUN apt-get update -y && \
     apt-get install -y \
     wget \
     tar \
+    nano \
+    locales \
     php7.3 \
     php7.3-fpm \
     php7.3-gd \
@@ -21,6 +23,8 @@ RUN apt-get update -y && \
     sed -i -e "s|;listen\.owner\s*=\s*|listen.owner = |g" /etc/php/7.3/fpm/pool.d/www.conf && \
     sed -i -e "s|;listen\.group\s*=\s*|listen.group = |g" /etc/php/7.3/fpm/pool.d/www.conf && \
     sed -i -e "s|;listen\.mode\s*=\s*|listen.mode = |g" /etc/php/7.3/fpm/pool.d/www.conf && \
+    sed -i -e "s|;extension=mbstring|extension=mbstring|g" /etc/php/7.3/fpm/php.ini && \
+    sed -i -e "s|;date\.timezone ="|date\.timezone = Europe/Paris|g" /etc/php/7.3/fpm/php.ini && \
     wget -O dokuwiki.tgz "https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz" && \
     mkdir update && \
     tar -xzf dokuwiki.tgz -C update --strip-components 1 && \
@@ -32,6 +36,10 @@ RUN apt-get update -y && \
     apt-get autoremove -y && \
     apt-get clean
 
+ENV LC_ALL fr_FR.UTF-8
+ENV LANG fr_FR.UTF-8
+ENV LANGUAGE fr_FR.UTF-8
+
 EXPOSE 80
 VOLUME ["/var/www/html"]
 
diff --git a/pica-dokuwiki/docker-compose.yml b/pica-dokuwiki/docker-compose.yml
index d25c36a4..79cdf89c 100644
--- a/pica-dokuwiki/docker-compose.yml
+++ b/pica-dokuwiki/docker-compose.yml
@@ -10,7 +10,7 @@ networks:
 
 services:
   dokuwiki-app:
-    image: registry.picasoft.net/pica-dokuwiki:hogfather
+    image: registry.picasoft.net/pica-dokuwiki:hogfather-patch1
     build: .
     container_name: dokuwiki-app
     volumes:
-- 
GitLab