From 0b3026dfb9fe476148159dc723605798955a0364 Mon Sep 17 00:00:00 2001
From: Quentin Duchemin <quentinduchemin@tuta.io>
Date: Tue, 1 Sep 2020 18:29:06 +0200
Subject: [PATCH] [Websites] Normalize Compose and update doc

---
 pica-nginx/README.md          | 20 +++++----
 pica-nginx/docker-compose.yml | 84 +++++++++++------------------------
 2 files changed, 38 insertions(+), 66 deletions(-)

diff --git a/pica-nginx/README.md b/pica-nginx/README.md
index 3546fe5f..361ccca7 100644
--- a/pica-nginx/README.md
+++ b/pica-nginx/README.md
@@ -1,12 +1,12 @@
 # pica-nginx
 
-Ce dossier contient une image Nginx maintenue par l'association.
+Ce dossier contient une image nginx + PHP FPM maintenue par l'association.
 
-L'image est basée sur `debian:stretch`, mais n'est pas encore au point (cf. [cette carte](https://kanban.picasoft.net/b/7fCn765LCNGraBhxA/team-technique-picasoft/pgtqebNDqsBMSj6ke)).
+Elle sert de base à tous les sites web simples hébergés par Picasoft (ex: `www`, `school`, `radio`...) et permet d'utiliser PHP sans configuration supplémentaire.
 
-Elle sert de base à tous les sites web simples hébergés par Picasoft (ex: `www`, `school`, `radio`...)
+Le fichier `docker-compose.yml` associé permet de lancer tous les conteneurs des sites, sans contenu (il faudra le copier ultérieurement, avec un `docker cp` dans `/var/www/html` par exemple).
 
-Le fichier `docker-compose.yml` associé permet de lancer tous les conteneurs des sites, sans contenu (il faudra le copier ultérieurement, avec un `docker cp` par exemple).
+À noter que l'utilisation de `supervisord` est sans doute un peu datée, même si elle fonctionne, et que l'injection de la configuration pour `autoindex` dans [start.sh](./start.sh) est un peu bourrine, il y a sans doute une amélioration de ce côté.
 
 ## Lancement
 
@@ -33,16 +33,18 @@ mon_site:
   volumes:
     - mon_site:/var/www/html
   labels:
-    - "traefik.frontend.rule=Host:mon_site.picasoft.net"
-    - "traefik.port=80"
-    - "traefik.enable=true"
+    traefik.frontend.rule: Host:mon_site.picasoft.net
+    traefik.port: 80
+    traefik.enable: true
   environment:
-    - AUTOINDEX=true
-  restart: always
+    AUTOINDEX: true
   networks:
     - docker_default
+  restart: unless-stopped
 ```
 
+Ne pas oublier d'ajouter le volume sous la directive `volumes` de Compose.
+
 ## Environnement
 
 La variable d'environnement `AUTOINDEX`, losrqu'elle a pour valeur `true`, permet d'activer l'affichage des répertoires et leur contenu (en ajoutant `autoindex on;` à `/etc/nginx/nginx.conf` - [plus d'infos](https://nixcp.com/nginx-autoindex/))
diff --git a/pica-nginx/docker-compose.yml b/pica-nginx/docker-compose.yml
index f4006f6c..1d957a47 100644
--- a/pica-nginx/docker-compose.yml
+++ b/pica-nginx/docker-compose.yml
@@ -22,11 +22,6 @@ x-image-name: &NGINX_IMAGE
   registry.picasoft.net/pica-nginx:stretch-20200901
 
 services:
-
-####################
-##### Site Web #####
-####################
-
   website:
     container_name: website
     image: *NGINX_IMAGE
@@ -34,17 +29,12 @@ services:
     volumes:
       - website:/var/www/html
     labels:
-      - "traefik.frontend.rule=Host:www.picasoft.net,picasoft.net"
-      - "traefik.port=80"
-      - "traefik.enable=true"
-    restart: always
+      traefik.frontend.rule: Host:www.picasoft.net,picasoft.net
+      traefik.port: 80
+      traefik.enable: true
     networks:
       - docker_default
-
-
-####################
-## Documentation ###
-####################
+    restart: unless-stopped
 
   doc:
     container_name: doc
@@ -53,17 +43,12 @@ services:
     volumes:
       - doc:/var/www/html
     labels:
-      - "traefik.frontend.rule=Host:doc.picasoft.net"
-      - "traefik.port=80"
-      - "traefik.enable=true"
-    restart: always
+      traefik.frontend.rule: Host:doc.picasoft.net
+      traefik.port: 80
+      traefik.enable: true
     networks:
       - docker_default
-
-
-####################
-###### School ######
-####################
+    restart: unless-stopped
 
   school:
     container_name: school
@@ -72,17 +57,12 @@ services:
     volumes:
       - school:/var/www/html
     labels:
-      - "traefik.frontend.rule=Host:school.picasoft.net"
-      - "traefik.port=80"
-      - "traefik.enable=true"
-    restart: always
+      traefik.frontend.rule: Host:school.picasoft.net
+      traefik.port: 80
+      traefik.enable: true
     networks:
       - docker_default
-
-
-####################
-####### Radio ######
-####################
+    restart: unless-stopped
 
   radio:
     container_name: radio
@@ -91,18 +71,13 @@ services:
     volumes:
       - radio:/var/www/html
     labels:
-      - "traefik.frontend.rule=Host:radio.picasoft.net"
-      - "traefik.port=80"
-      - "traefik.enable=true"
-    restart: always
+      traefik.frontend.rule: Host:radio.picasoft.net
+      traefik.port: 80
+      traefik.enable: true
     networks:
       - docker_default
-
-
-####################
-##### Culture ######
-####################
-
+    restart: unless-stopped
+    
   culture:
     container_name: culture
     image: *NGINX_IMAGE
@@ -110,19 +85,14 @@ services:
     volumes:
       - culture:/var/www/html
     labels:
-      - "traefik.frontend.rule=Host:culture.picasoft.net"
-      - "traefik.port=80"
-      - "traefik.enable=true"
+      traefik.frontend.rule: Host:culture.picasoft.net
+      traefik.port: 80
+      traefik.enable: true
     environment:
-      - AUTOINDEX=true
-    restart: always
+      AUTOINDEX: true
     networks:
-      - docker_default
-
-
-####################
-##### Stiegler #####
-####################
+      - docker_defaul
+    restart: unless-stopped
 
   stiegler:
     container_name: stiegler
@@ -131,9 +101,9 @@ services:
     volumes:
       - stiegler:/var/www/html
     labels:
-      - "traefik.frontend.rule=Host:stiegler.picasoft.net"
-      - "traefik.port=80"
-      - "traefik.enable=true"
-    restart: always
+      traefik.frontend.rule: Host:stiegler.picasoft.net
+      traefik.port: 80
+      traefik.enable: true
     networks:
       - docker_default
+    restart: unless-stopped
-- 
GitLab