From 4bdc59a4c9b24d215fd83dbf4f48eceac931317f Mon Sep 17 00:00:00 2001
From: Etienne LOUPIAS <eloupias@grandlyon.com>
Date: Fri, 21 Mar 2025 09:46:08 +0000
Subject: [PATCH] feat(jeuIA): store nginx logs

---
 Dockerfile                            |  1 -
 nginx/nginx.conf                      | 31 ---------------------------
 nginx/templates/default.conf.template | 21 ++++++++++++++++++
 3 files changed, 21 insertions(+), 32 deletions(-)
 delete mode 100644 nginx/nginx.conf

diff --git a/Dockerfile b/Dockerfile
index c6467e5de..daf06e71e 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -16,7 +16,6 @@ COPY angular.json .
 COPY tsconfig.json .
 COPY tsconfig.app.json .
 COPY ngsw-config.json .
-COPY /nginx/nginx.conf .
 COPY /src ./src
 
 ARG conf
diff --git a/nginx/nginx.conf b/nginx/nginx.conf
deleted file mode 100644
index 4070a4c7e..000000000
--- a/nginx/nginx.conf
+++ /dev/null
@@ -1,31 +0,0 @@
-worker_processes  1;
-error_log  /var/log/nginx/error.log warn;
-pid        /var/run/nginx.pid;
-
-events {
-    worker_connections  1024;
-}
-
-http {
-    include       /etc/nginx/mime.types;
-    default_type  application/octet-stream;
-
-    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
-                      '$status $body_bytes_sent "$http_referer" '
-                      '"$http_user_agent" "$http_x_forwarded_for"'
-                      '"$upstream_uri"';
-
-    access_log  /var/log/nginx/access.log  main;
-
-    sendfile        on;
-
-    keepalive_timeout  65;
-
-    gzip  on;
-
-    include /etc/nginx/conf.d/*.conf;
-
-    # Max Body Size
-    client_max_body_size 10M;
-
-}
diff --git a/nginx/templates/default.conf.template b/nginx/templates/default.conf.template
index cec97a3a3..dc599d607 100644
--- a/nginx/templates/default.conf.template
+++ b/nginx/templates/default.conf.template
@@ -23,6 +23,19 @@ map $http_user_agent $prerender {
   "~*discordbot"                          1;
 }
 
+map $time_iso8601 $year {
+    default '0000';
+    "~^(\d{4})-(\d{2})-(\d{2})" $1;
+}
+map $time_iso8601 $month {
+    default '00';
+    "~^(\d{4})-(\d{2})-(\d{2})" $2;
+}
+map $time_iso8601 $day {
+    default '00';
+    "~^(\d{4})-(\d{2})-(\d{2})" $3;
+}
+
 server {
   listen 8080 default_server;
 
@@ -42,6 +55,14 @@ server {
     proxy_pass https://data.grandlyon.com/fr/datapusher/ws/grandlyon/adr_voie_lieu.adrcomgl/all.json;
   }
 
+  # Persist logs for jeuAieAieIA
+  location /shared/jeuAieAieIA {
+    # Default log which is redirected to stdout (must be reset in this block because of "access_log" below)
+    access_log  /var/log/nginx/access.log  main;
+    # And also write to a daily file
+    access_log /usr/share/nginx/html/shared/jeuAieAieIA/stats/log/access.$year-$month-$day.log  main;
+  }
+
   location / {
     add_header X-Frame-Options SAMEORIGIN always;
     add_header X-Content-Type-Options nosniff;
-- 
GitLab