From e73b213a84044e4d67c889d6d553dfc4c80f9c37 Mon Sep 17 00:00:00 2001
From: Bastien DUMONT <bdumont@grandlyon.com>
Date: Thu, 5 May 2022 17:21:22 +0200
Subject: [PATCH] add config for local dev without matomo

---
 docker/docker-compose.matomo.yml    | 38 +++++++++++++++++++++++++++++
 src/components/App.tsx              |  4 ++-
 src/services/environment.service.ts |  5 ++++
 3 files changed, 46 insertions(+), 1 deletion(-)
 create mode 100644 docker/docker-compose.matomo.yml

diff --git a/docker/docker-compose.matomo.yml b/docker/docker-compose.matomo.yml
new file mode 100644
index 000000000..a0a90254e
--- /dev/null
+++ b/docker/docker-compose.matomo.yml
@@ -0,0 +1,38 @@
+version: '3.8'
+
+services:
+  db:
+    image: mariadb
+    command: --max-allowed-packet=64MB
+    restart: always
+    environment:
+      - MYSQL_ROOT_PASSWORD=root
+      - MYSQL_PASSWORD=password
+      - MYSQL_DATABASE=matomo
+      - MYSQL_USER=matomo
+    volumes:
+      - db:/var/lib/mysql
+
+  app:
+    image: matomo:latest
+    restart: always
+    depends_on:
+      - db
+    environment:
+      - MATOMO_DATABASE_HOST=db
+      - MATOMO_DATABASE_ADAPTER=mysql
+      - MATOMO_DATABASE_TABLES_PREFIX=matomo_
+      - MATOMO_DATABASE_USERNAME=matomo
+      - MATOMO_DATABASE_PASSWORD=password
+      - MATOMO_DATABASE_DBNAME=matomo
+      - PHP_MEMORY_LIMIT=2048M
+    volumes:
+      # - ./config:/var/www/html/config:rw
+      # - ./logs:/var/www/html/logs
+      - matomo:/var/www/html
+    ports:
+      - 9800:80
+
+volumes:
+  db:
+  matomo:
diff --git a/src/components/App.tsx b/src/components/App.tsx
index 3e3222de2..d86299f0c 100644
--- a/src/components/App.tsx
+++ b/src/components/App.tsx
@@ -12,6 +12,7 @@ import SplashScreen from 'components/Splash/SplashScreen'
 import SplashScreenError from 'components/Splash/SplashScreenError'
 import WelcomeModal from 'components/Onboarding/WelcomeModal'
 import MatomoTracker from 'utils/matomoTracker'
+import EnvironmentService from 'services/environment.service'
 
 interface AppProps {
   tracker: MatomoTracker
@@ -22,9 +23,10 @@ export const App = ({ tracker }: AppProps) => {
     (state: AppStore) => state.ecolyo.profile
   )
   const { termsStatus } = useSelector((state: AppStore) => state.ecolyo.global)
+  const isDev = new EnvironmentService().isDev()
 
   useEffect(() => {
-    if (tracker) {
+    if (tracker && !isDev) {
       if (termsStatus.accepted) {
         tracker.connectToHistory()
       }
diff --git a/src/services/environment.service.ts b/src/services/environment.service.ts
index 0fb89f8f4..4537dc159 100644
--- a/src/services/environment.service.ts
+++ b/src/services/environment.service.ts
@@ -1,4 +1,5 @@
 declare const __IS_ALPHA__: boolean
+declare const __DEVELOPMENT__: boolean
 
 export default class EnvironmentService {
   private isAlpha() {
@@ -21,4 +22,8 @@ export default class EnvironmentService {
       return 'https://ecolyo-agent-rec.grandlyon.com'
     }
   }
+
+  public isDev() {
+    return __DEVELOPMENT__
+  }
 }
-- 
GitLab