From e2de4bb0527ad0f27069f35265ba9a051a239172 Mon Sep 17 00:00:00 2001
From: David Beniamine <david.beniamine@tetras-libre.fr>
Date: Wed, 16 Mar 2022 13:56:33 +0100
Subject: [PATCH] Add cronjob and improve production mode

---
 .env.sample          | 4 ++++
 dev.yml              | 6 ++++++
 docker-compose.yml   | 5 +++--
 docker/Dockerfile    | 1 +
 docker/dolibarr.ini  | 8 +++++---
 docker/entrypoint.sh | 7 +++++++
 6 files changed, 26 insertions(+), 5 deletions(-)
 create mode 100644 dev.yml

diff --git a/.env.sample b/.env.sample
index 6f79f3d..59bab61 100644
--- a/.env.sample
+++ b/.env.sample
@@ -1,3 +1,7 @@
+COMPOSE_FILE=docker-compose.yml:dev.yml
+ENV=local
+CRON_KEY="getItFromDolibarrScheduledJobModulePageThanRestart"
+CRON_USER="admin"
 PORT=8080
 DOLI_URL=http://localhost:8080
 DOLI_VERSION=11.0.3
diff --git a/dev.yml b/dev.yml
new file mode 100644
index 0000000..a698b90
--- /dev/null
+++ b/dev.yml
@@ -0,0 +1,6 @@
+version: "3"
+
+services:
+  dolibarr:
+      ports:
+          - "${PORT}:80"
diff --git a/docker-compose.yml b/docker-compose.yml
index 051d569..f195406 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -25,8 +25,9 @@ services:
           DOLI_DB_NAME: dolibarr
           DOLI_URL_ROOT: ${DOLI_URL}
           PHP_INI_DATE_TIMEZONE: 'Europe/Paris'
-      ports:
-          - "${PORT}:80"
+          CRON_KEY: ${CRON_KEY}
+          CRON_USER: ${CRON_USER}
+          ENV: ${ENV}
       restart: ${RESTART}
       links:
           - mariadb
diff --git a/docker/Dockerfile b/docker/Dockerfile
index 1990986..a089197 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -10,6 +10,7 @@ RUN apt-get install -y \
     chromium-driver\
     chromium\
     curl \
+    cron \
     git\
     gnupg\
     libldap2-dev\
diff --git a/docker/dolibarr.ini b/docker/dolibarr.ini
index 02766cc..cb72046 100644
--- a/docker/dolibarr.ini
+++ b/docker/dolibarr.ini
@@ -1,6 +1,8 @@
 error_reporting = E_ALL
 display_errors = On
 display_startup_errors = On
-xdebug.remote_port=9000
-xdebug.remote_enable=1
-xdebug.remote_connect_back=1
+[xdebug]
+xdebug.client_port=9000
+xdebug.mode=debug
+xdebug.start_with_request=yes
+xdebug.discover_client_host=true
diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh
index 68b77d5..7fc3abc 100755
--- a/docker/entrypoint.sh
+++ b/docker/entrypoint.sh
@@ -7,5 +7,12 @@ fi
 cd /var/www/dolibarr
 git fetch
 git checkout $DOLI_VERSION
+if [ "$ENV" == "prod" ]; then
+	sed -i '/\(xdebug.*\)/d' /etc/php/$PHP_VER/fpm/conf.d/00-dolibarr.ini
+	sed -i '/\(xdebug.*\)/d' /etc/php/$PHP_VER/cli/conf.d/00-dolibarr.ini
+	apt-get purge -y php-xdebug
+fi
+echo "*/5 * * * *  www-data /usr/bin/php /var/www/dolibarr/scripts/cron/cron_run_jobs.php $CRON_KEY $CRON_USER > /var/www/dolibarr/documents/cron_run_jobs.php.log" >> /etc/crontab
 php-fpm$PHP_VER -D
+cron -f &
 apache2ctl -DFOREGROUND
-- 
GitLab