From 3c353eb0667fa4bf0bc662c7df5cc1d21a5270a3 Mon Sep 17 00:00:00 2001 From: BOUHOURS Antoine Date: Wed, 15 Apr 2026 10:00:04 +0200 Subject: [PATCH 01/14] Enrich profiles to help with memory use of Gridsuite Signed-off-by: BOUHOURS Antoine --- docker-compose/docker-compose.base.yml | 12 ++++++++++++ docker-compose/study/docker-compose.study.yml | 8 ++++++++ 2 files changed, 20 insertions(+) diff --git a/docker-compose/docker-compose.base.yml b/docker-compose/docker-compose.base.yml index e1338c7c..cf191aed 100644 --- a/docker-compose/docker-compose.base.yml +++ b/docker-compose/docker-compose.base.yml @@ -42,6 +42,7 @@ services: - suite - study - study-light + - study-xlight - dynamic-mapping - dynamic-simulation - import @@ -74,6 +75,7 @@ services: - suite - study - study-light + - study-xlight - dynamic-mapping - dynamic-simulation - import @@ -106,6 +108,7 @@ services: - suite - study - study-light + - study-xlight - dynamic-mapping - dynamic-simulation - import @@ -137,6 +140,7 @@ services: - suite - study - study-light + - study-xlight - dynamic-mapping - dynamic-simulation - import @@ -199,6 +203,7 @@ services: - suite - study - study-light + - study-xlight - dynamic-mapping - dynamic-simulation - import @@ -231,6 +236,7 @@ services: - suite - study - study-light + - study-xlight - dynamic-mapping - dynamic-simulation - import @@ -294,6 +300,7 @@ services: - suite - study - study-light + - study-xlight - dynamic-mapping - dynamic-simulation - import @@ -326,6 +333,7 @@ services: - suite - study - study-light + - study-xlight - dynamic-mapping - dynamic-simulation - import @@ -353,6 +361,7 @@ services: - suite - study - study-light + - study-xlight - dynamic-mapping - dynamic-simulation - import @@ -380,6 +389,7 @@ services: - suite - study - study-light + - study-xlight - dynamic-mapping - dynamic-simulation - import @@ -412,6 +422,7 @@ services: - suite - study - study-light + - study-xlight - dynamic-mapping - dynamic-simulation - import @@ -477,6 +488,7 @@ services: - suite - study - study-light + - study-xlight - dynamic-mapping - dynamic-simulation - import diff --git a/docker-compose/study/docker-compose.study.yml b/docker-compose/study/docker-compose.study.yml index 2fdc1fac..066832e8 100644 --- a/docker-compose/study/docker-compose.study.yml +++ b/docker-compose/study/docker-compose.study.yml @@ -7,6 +7,7 @@ services: - suite - study - study-light + - study-xlight - dynamic-simulation image: gridsuite/study-server:latest ports: @@ -36,6 +37,7 @@ services: - suite - study - study-light + - study-xlight - dynamic-simulation image: gridsuite/geo-data-server:latest ports: @@ -65,6 +67,7 @@ services: - suite - study - study-light + - study-xlight - dynamic-simulation image: powsybl/single-line-diagram-server:latest ports: @@ -94,6 +97,7 @@ services: - suite - study - study-light + - study-xlight - dynamic-simulation - monitor image: gridsuite/network-modification-server:latest @@ -125,6 +129,7 @@ services: - suite - study - study-light + - study-xlight - dynamic-simulation image: gridsuite/study-notification-server:latest ports: @@ -183,6 +188,7 @@ services: - suite - study - study-light + - study-xlight - dynamic-simulation image: gridsuite/network-map-server:latest ports: @@ -265,6 +271,8 @@ services: - all - suite - study + - study-light + - study-xlight - dynamic-simulation image: gridsuite/gridstudy-app:latest ports: From c6d6f601946ae0a3f86d355dcb097cb68bd09908 Mon Sep 17 00:00:00 2001 From: BOUHOURS Antoine Date: Wed, 15 Apr 2026 17:46:44 +0200 Subject: [PATCH 02/14] Reduce memory sizing for study-light Signed-off-by: BOUHOURS Antoine --- docker-compose/docker-compose.base.yml | 36 +++++++++---------- docker-compose/study/docker-compose.study.yml | 36 +++++++++---------- 2 files changed, 36 insertions(+), 36 deletions(-) diff --git a/docker-compose/docker-compose.base.yml b/docker-compose/docker-compose.base.yml index cf191aed..f3962ff5 100644 --- a/docker-compose/docker-compose.base.yml +++ b/docker-compose/docker-compose.base.yml @@ -59,15 +59,15 @@ services: condition: "service_started" required: false environment: - - JAVA_TOOL_OPTIONS=-Xmx576m + - JAVA_TOOL_OPTIONS=-Xmx384m command: --server.port=80 --spring.config.additional-location=/config/ sysctls: - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1g + memswap_limit: 768m deploy: resources: limits: - memory: 1g + memory: 768m filter-server: profiles: @@ -95,12 +95,12 @@ services: sysctls: - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 environment: - - JAVA_TOOL_OPTIONS=-Xmx576m - memswap_limit: 1g + - JAVA_TOOL_OPTIONS=-Xmx384m + memswap_limit: 768m deploy: resources: limits: - memory: 1g + memory: 768m user-admin-server: profiles: @@ -223,12 +223,12 @@ services: sysctls: - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 environment: - - JAVA_TOOL_OPTIONS=-Xmx384m - memswap_limit: 768m + - JAVA_TOOL_OPTIONS=-Xmx186m + memswap_limit: 512m deploy: resources: limits: - memory: 768m + memory: 512m network-store-server: profiles: @@ -252,15 +252,15 @@ services: condition: "service_started" required: false environment: - - JAVA_TOOL_OPTIONS=-Xmx1086m #deployment: 1408m + - JAVA_TOOL_OPTIONS=-Xmx768m #deployment: 1408m command: --server.port=80 --spring.config.additional-location=/config/ sysctls: - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1664m #deployment: 2048m + memswap_limit: 1280m #deployment: 2048m deploy: resources: limits: - memory: 1664m #deployment: 2048m + memory: 1280m #deployment: 2048m network-conversion-server: profiles: @@ -284,15 +284,15 @@ services: condition: "service_started" required: false environment: - - JAVA_TOOL_OPTIONS=-Xmx768m #deployment: 1408m + - JAVA_TOOL_OPTIONS=-Xmx576m #deployment: 1408m command: --server.port=80 --spring.config.additional-location=/config/ sysctls: - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1280m #deployment: 2048m + memswap_limit: 1g #deployment: 2048m deploy: resources: limits: - memory: 1280m #deployment: 2048m + memory: 1g #deployment: 2048m loadflow-server: profiles: @@ -317,15 +317,15 @@ services: condition: "service_started" required: false environment: - - JAVA_TOOL_OPTIONS=-Xmx768m #deployment: 1408m + - JAVA_TOOL_OPTIONS=-Xmx576m #deployment: 1408m command: --server.port=80 --spring.config.additional-location=/config/ sysctls: - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1792m #deployment: 3072m + memswap_limit: 1664m #deployment: 3072m deploy: resources: limits: - memory: 1792m #deployment: 3072m + memory: 1664m #deployment: 3072m config-server: profiles: diff --git a/docker-compose/study/docker-compose.study.yml b/docker-compose/study/docker-compose.study.yml index 066832e8..d77ca99a 100644 --- a/docker-compose/study/docker-compose.study.yml +++ b/docker-compose/study/docker-compose.study.yml @@ -21,15 +21,15 @@ services: condition: "service_started" required: false environment: - - JAVA_TOOL_OPTIONS=-Xmx576m + - JAVA_TOOL_OPTIONS=-Xmx384m command: --server.port=80 --spring.config.additional-location=/config/ sysctls: - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1g + memswap_limit: 768m deploy: resources: limits: - memory: 1g + memory: 768m geo-data-server: profiles: @@ -51,15 +51,15 @@ services: condition: "service_started" required: false environment: - - JAVA_TOOL_OPTIONS=-Xmx576m + - JAVA_TOOL_OPTIONS=-Xmx384m command: --server.port=80 --spring.config.additional-location=/config/ sysctls: - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1g + memswap_limit: 768m deploy: resources: limits: - memory: 1g + memory: 768m single-line-diagram-server: profiles: @@ -81,15 +81,15 @@ services: condition: "service_started" required: false environment: - - JAVA_TOOL_OPTIONS=-Xmx384m #deployment: 576m + - JAVA_TOOL_OPTIONS=-Xmx186m #deployment: 576m command: --server.port=80 --spring.config.additional-location=/config/ sysctls: - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 768m #deployment: 1024m + memswap_limit: 512m #deployment: 1024m deploy: resources: limits: - memory: 768m #deployment: 1024m + memory: 512m #deployment: 1024m network-modification-server: profiles: @@ -113,15 +113,15 @@ services: condition: "service_started" required: false environment: - - JAVA_TOOL_OPTIONS=-Xmx768m #deployment: 1086m + - JAVA_TOOL_OPTIONS=-Xmx576m #deployment: 1086m command: --server.port=80 --spring.config.additional-location=/config/ sysctls: - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1280m #deployment: 1664m + memswap_limit: 1g #deployment: 1664m deploy: resources: limits: - memory: 1280m #deployment: 1664m + memory: 1g #deployment: 1664m study-notification-server: profiles: @@ -202,15 +202,15 @@ services: condition: "service_started" required: false environment: - - JAVA_TOOL_OPTIONS=-Xmx576m #deployment: 768m + - JAVA_TOOL_OPTIONS=-Xmx384m #deployment: 768m command: --server.port=80 --spring.config.additional-location=/config/ sysctls: - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1g #deployment: 1280m + memswap_limit: 768m #deployment: 1280m deploy: resources: limits: - memory: 1g #deployment: 1280m + memory: 768m #deployment: 1280m cgmes-gl-server: profiles: @@ -464,15 +464,15 @@ services: condition: "service_started" required: false environment: - - JAVA_TOOL_OPTIONS=-Xmx384m + - JAVA_TOOL_OPTIONS=-Xmx186m command: --server.port=80 --spring.config.additional-location=/config/ sysctls: - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 768m + memswap_limit: 512m deploy: resources: limits: - memory: 768m + memory: 512m sensitivity-analysis-server: profiles: From 5b2ba65cc00d6a2df2448e904d71ce92e72b127b Mon Sep 17 00:00:00 2001 From: LE SAULNIER Kevin Date: Thu, 16 Apr 2026 09:27:29 +0200 Subject: [PATCH 03/14] add gridmonitor-app configurations Signed-off-by: LE SAULNIER Kevin --- docker-compose/allowed-issuers.yml | 2 +- docker-compose/docker-compose.base.yml | 44 ++++++++++++++++---------- 2 files changed, 28 insertions(+), 18 deletions(-) diff --git a/docker-compose/allowed-issuers.yml b/docker-compose/allowed-issuers.yml index 96f0f727..e9a76187 100644 --- a/docker-compose/allowed-issuers.yml +++ b/docker-compose/allowed-issuers.yml @@ -1,3 +1,3 @@ allowed-issuers: http://172.17.0.1:9090 -allowed-audiences: gridexplore-client, gridadmin-client, griddyna-client, gridstudy-client, gridexplore-local, gridadmin-local, griddyna-local, gridstudy-local +allowed-audiences: gridexplore-client, gridadmin-client, griddyna-client, gridstudy-client, gridexplore-local, gridadmin-local, griddyna-local, gridstudy-local, gridmonitor-local allowed-clients: \ No newline at end of file diff --git a/docker-compose/docker-compose.base.yml b/docker-compose/docker-compose.base.yml index e1338c7c..07678eab 100644 --- a/docker-compose/docker-compose.base.yml +++ b/docker-compose/docker-compose.base.yml @@ -422,7 +422,7 @@ services: - PORT=9090 - ISSUER_HOST=172.17.0.1:9090 - USERS_PROFILE=UTILISATEURS|ADMIN|ADMIN_EXPLORE - - CLIENT_COUNT=8 + - CLIENT_COUNT=10 # Client IDs for containers (grid*-app-idpSettings.json) - CLIENT_ID=gridexplore-client @@ -445,26 +445,36 @@ services: - CLIENT_LOGOUT_REDIRECT_URI_4=http://localhost:84/logout-callback - CLIENT_SILENT_REDIRECT_URI_4=http://localhost:84/silent-renew-callback + - CLIENT_ID_5=gridmonitor-client + - CLIENT_REDIRECT_URI_5=http://localhost:85/sign-in-callback + - CLIENT_LOGOUT_REDIRECT_URI_5=http://localhost:85/logout-callback + - CLIENT_SILENT_REDIRECT_URI_5=http://localhost:85/silent-renew-callback + # Client IDs for local dev (grid*-app/public/idpSettings.json) - - CLIENT_ID_5=gridexplore-local - - CLIENT_REDIRECT_URI_5=http://localhost:3000/sign-in-callback - - CLIENT_LOGOUT_REDIRECT_URI_5=http://localhost:3000/logout-callback - - CLIENT_SILENT_REDIRECT_URI_5=http://localhost:3000/silent-renew-callback + - CLIENT_ID_6=gridexplore-local + - CLIENT_REDIRECT_URI_6=http://localhost:3000/sign-in-callback + - CLIENT_LOGOUT_REDIRECT_URI_6=http://localhost:3000/logout-callback + - CLIENT_SILENT_REDIRECT_URI_6=http://localhost:3000/silent-renew-callback + + - CLIENT_ID_7=gridadmin-local + - CLIENT_REDIRECT_URI_7=http://localhost:3002/sign-in-callback + - CLIENT_LOGOUT_REDIRECT_URI_7=http://localhost:3002/logout-callback + - CLIENT_SILENT_REDIRECT_URI_7=http://localhost:3002/silent-renew-callback - - CLIENT_ID_6=gridadmin-local - - CLIENT_REDIRECT_URI_6=http://localhost:3002/sign-in-callback - - CLIENT_LOGOUT_REDIRECT_URI_6=http://localhost:3002/logout-callback - - CLIENT_SILENT_REDIRECT_URI_6=http://localhost:3002/silent-renew-callback + - CLIENT_ID_8=griddyna-local + - CLIENT_REDIRECT_URI_8=http://localhost:3003/sign-in-callback + - CLIENT_LOGOUT_REDIRECT_URI_8=http://localhost:3003/logout-callback + - CLIENT_SILENT_REDIRECT_URI_8=http://localhost:3003/silent-renew-callback - - CLIENT_ID_7=griddyna-local - - CLIENT_REDIRECT_URI_7=http://localhost:3003/sign-in-callback - - CLIENT_LOGOUT_REDIRECT_URI_7=http://localhost:3003/logout-callback - - CLIENT_SILENT_REDIRECT_URI_7=http://localhost:3003/silent-renew-callback + - CLIENT_ID_9=gridstudy-local + - CLIENT_REDIRECT_URI_9=http://localhost:3004/sign-in-callback + - CLIENT_LOGOUT_REDIRECT_URI_9=http://localhost:3004/logout-callback + - CLIENT_SILENT_REDIRECT_URI_9=http://localhost:3004/silent-renew-callback - - CLIENT_ID_8=gridstudy-local - - CLIENT_REDIRECT_URI_8=http://localhost:3004/sign-in-callback - - CLIENT_LOGOUT_REDIRECT_URI_8=http://localhost:3004/logout-callback - - CLIENT_SILENT_REDIRECT_URI_8=http://localhost:3004/silent-renew-callback + - CLIENT_ID_10=gridmonitor-local + - CLIENT_REDIRECT_URI_10=http://localhost:3005/sign-in-callback + - CLIENT_LOGOUT_REDIRECT_URI_10=http://localhost:3005/logout-callback + - CLIENT_SILENT_REDIRECT_URI_10=http://localhost:3005/silent-renew-callback depends_on: logspout: condition: "service_started" From 56d56d313b0e556dd91c5f2a680c7fd827b8a30a Mon Sep 17 00:00:00 2001 From: BOUHOURS Antoine Date: Thu, 23 Apr 2026 09:53:51 +0200 Subject: [PATCH 04/14] Add a depends on order for start/terminate Signed-off-by: BOUHOURS Antoine --- docker-compose/docker-compose.base.yml | 46 ++++++++++++ .../docker-compose.dynamic-mapping.yml | 2 + .../monitor/docker-compose.monitor.yml | 12 ++++ docker-compose/study/docker-compose.study.yml | 71 +++++++++++++++++++ .../technical/docker-compose.technical.yml | 38 ++++++++-- 5 files changed, 165 insertions(+), 4 deletions(-) diff --git a/docker-compose/docker-compose.base.yml b/docker-compose/docker-compose.base.yml index f3962ff5..604ecf6d 100644 --- a/docker-compose/docker-compose.base.yml +++ b/docker-compose/docker-compose.base.yml @@ -18,6 +18,14 @@ services: - ../k8s/resources/common/config/case-server-application.yml:/config/specific/application.yml:Z - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z depends_on: + postgres: + condition: service_healthy + elasticsearch: + condition: service_healthy + s3-storage: + condition: service_healthy + rabbitmq: + condition: service_healthy logspout: condition: "service_started" required: false @@ -55,6 +63,10 @@ services: - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: + postgres: + condition: service_healthy + rabbitmq: + condition: service_healthy logspout: condition: "service_started" required: false @@ -88,6 +100,10 @@ services: - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: + postgres: + condition: service_healthy + rabbitmq: + condition: service_healthy logspout: condition: "service_started" required: false @@ -120,6 +136,10 @@ services: - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: + postgres: + condition: service_healthy + rabbitmq: + condition: service_healthy logspout: condition: "service_started" required: false @@ -152,6 +172,8 @@ services: - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: + postgres: + condition: service_healthy logspout: condition: "service_started" required: false @@ -183,6 +205,8 @@ services: - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: + postgres: + condition: service_healthy logspout: condition: "service_started" required: false @@ -216,6 +240,8 @@ services: - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: + postgres: + condition: service_healthy logspout: condition: "service_started" required: false @@ -248,6 +274,8 @@ services: - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: + postgres: + condition: service_healthy logspout: condition: "service_started" required: false @@ -280,6 +308,12 @@ services: - ../k8s/resources/common/config/network-conversion-server-config.yml:/home/powsybl/.itools/config.yml:Z restart: unless-stopped depends_on: + elasticsearch: + condition: service_healthy + s3-storage: + condition: service_healthy + rabbitmq: + condition: service_healthy logspout: condition: "service_started" required: false @@ -313,6 +347,10 @@ services: - ../k8s/resources/common/config/loadflow-server-config.yml:/home/powsybl/.itools/config.yml:Z restart: unless-stopped depends_on: + postgres: + condition: service_healthy + rabbitmq: + condition: service_healthy logspout: condition: "service_started" required: false @@ -344,6 +382,11 @@ services: - ../k8s/resources/common/config/config-server-application.yml:/config/specific/application.yml:Z - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped + depends_on: + postgres: + condition: service_healthy + rabbitmq: + condition: service_healthy environment: - JAVA_TOOL_OPTIONS=-Xmx96m command: --server.port=80 --spring.config.additional-location=/config/ @@ -372,6 +415,9 @@ services: - ../k8s/resources/common/config/config-notification-server-application.yml:/config/specific/application.yml:Z - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped + depends_on: + rabbitmq: + condition: service_healthy environment: - JAVA_TOOL_OPTIONS=-Xmx96m command: --server.port=80 --spring.config.additional-location=/config/ diff --git a/docker-compose/dynamic-mapping/docker-compose.dynamic-mapping.yml b/docker-compose/dynamic-mapping/docker-compose.dynamic-mapping.yml index 74a32790..55a61833 100644 --- a/docker-compose/dynamic-mapping/docker-compose.dynamic-mapping.yml +++ b/docker-compose/dynamic-mapping/docker-compose.dynamic-mapping.yml @@ -38,6 +38,8 @@ services: - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: + postgres: + condition: service_healthy logspout: condition: "service_started" required: false diff --git a/docker-compose/monitor/docker-compose.monitor.yml b/docker-compose/monitor/docker-compose.monitor.yml index bdd231fe..27484d70 100644 --- a/docker-compose/monitor/docker-compose.monitor.yml +++ b/docker-compose/monitor/docker-compose.monitor.yml @@ -12,6 +12,13 @@ services: - ../../k8s/resources/monitor/config/monitor-server-application.yml:/config/specific/application.yml:Z - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped + depends_on: + postgres: + condition: service_healthy + s3-storage: + condition: service_healthy + rabbitmq: + condition: service_healthy environment: - JAVA_TOOL_OPTIONS=-Xmx96m command: --server.port=80 --spring.config.additional-location=/config/ @@ -33,6 +40,11 @@ services: - ../../k8s/resources/monitor/config/monitor-sa-worker-server-config.yml:/home/powsybl/.itools/config.yml:Z - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped + depends_on: + s3-storage: + condition: service_healthy + rabbitmq: + condition: service_healthy environment: - JAVA_TOOL_OPTIONS=-Xmx1086m #deployment: 3072m command: --server.port=80 --spring.config.additional-location=/config/ diff --git a/docker-compose/study/docker-compose.study.yml b/docker-compose/study/docker-compose.study.yml index d77ca99a..3f8fe584 100644 --- a/docker-compose/study/docker-compose.study.yml +++ b/docker-compose/study/docker-compose.study.yml @@ -17,6 +17,12 @@ services: - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: + postgres: + condition: service_healthy + elasticsearch: + condition: service_healthy + rabbitmq: + condition: service_healthy logspout: condition: "service_started" required: false @@ -47,6 +53,8 @@ services: - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: + postgres: + condition: service_healthy logspout: condition: "service_started" required: false @@ -77,6 +85,8 @@ services: - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: + postgres: + condition: service_healthy logspout: condition: "service_started" required: false @@ -109,6 +119,12 @@ services: - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: + postgres: + condition: service_healthy + elasticsearch: + condition: service_healthy + rabbitmq: + condition: service_healthy logspout: condition: "service_started" required: false @@ -139,6 +155,8 @@ services: - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: + rabbitmq: + condition: service_healthy logspout: condition: "service_started" required: false @@ -168,6 +186,8 @@ services: - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: + rabbitmq: + condition: service_healthy logspout: condition: "service_started" required: false @@ -306,6 +326,10 @@ services: - ../../k8s/resources/study/config/security-analysis-server-config.yml:/home/powsybl/.itools/config.yml:Z restart: unless-stopped depends_on: + postgres: + condition: service_healthy + rabbitmq: + condition: service_healthy logspout: condition: "service_started" required: false @@ -333,6 +357,13 @@ services: - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - ../../k8s/resources/study/config/dynawo-itools-config.yml:/home/powsybl/.itools/config.yml:Z restart: unless-stopped + depends_on: + postgres: + condition: service_healthy + s3-storage: + condition: service_healthy + rabbitmq: + condition: service_healthy environment: - JAVA_TOOL_OPTIONS=-Xmx768m command: --server.port=80 --spring.config.additional-location=/config/ @@ -357,6 +388,13 @@ services: - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - ../../k8s/resources/study/config/dynawo-itools-config.yml:/home/powsybl/.itools/config.yml:Z restart: unless-stopped + depends_on: + postgres: + condition: service_healthy + s3-storage: + condition: service_healthy + rabbitmq: + condition: service_healthy environment: - JAVA_TOOL_OPTIONS=-Xmx768m command: --server.port=80 --spring.config.additional-location=/config/ @@ -381,6 +419,13 @@ services: - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - ../../k8s/resources/study/config/dynawo-itools-config.yml:/home/powsybl/.itools/config.yml:Z restart: unless-stopped + depends_on: + postgres: + condition: service_healthy + s3-storage: + condition: service_healthy + rabbitmq: + condition: service_healthy environment: - JAVA_TOOL_OPTIONS=-Xmx768m command: --server.port=80 --spring.config.additional-location=/config/ @@ -407,6 +452,12 @@ services: - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: + postgres: + condition: service_healthy + elasticsearch: + condition: service_healthy + rabbitmq: + condition: service_healthy logspout: condition: "service_started" required: false @@ -460,6 +511,8 @@ services: - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: + rabbitmq: + condition: service_healthy logspout: condition: "service_started" required: false @@ -488,6 +541,10 @@ services: - ../../k8s/resources/study/config/sensitivity-analysis-server-config.yml:/home/powsybl/.itools/config.yml:Z restart: unless-stopped depends_on: + postgres: + condition: service_healthy + rabbitmq: + condition: service_healthy logspout: condition: "service_started" required: false @@ -516,6 +573,12 @@ services: - ../../k8s/resources/study/config/shortcircuit-server-config.yml:/home/powsybl/.itools/config.yml:Z restart: unless-stopped depends_on: + postgres: + condition: service_healthy + s3-storage: + condition: service_healthy + rabbitmq: + condition: service_healthy logspout: condition: "service_started" required: false @@ -543,6 +606,8 @@ services: - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: + postgres: + condition: service_healthy logspout: condition: "service_started" required: false @@ -571,6 +636,12 @@ services: - ../../k8s/resources/study/config/voltage-init-server-config.yml:/home/powsybl/.itools/config.yml:Z restart: unless-stopped depends_on: + postgres: + condition: service_healthy + s3-storage: + condition: service_healthy + rabbitmq: + condition: service_healthy logspout: condition: "service_started" required: false diff --git a/docker-compose/technical/docker-compose.technical.yml b/docker-compose/technical/docker-compose.technical.yml index cbec35a8..503cc94d 100644 --- a/docker-compose/technical/docker-compose.technical.yml +++ b/docker-compose/technical/docker-compose.technical.yml @@ -8,6 +8,11 @@ services: - 15672:15672 - 5672:5672 - 15692:15692 + healthcheck: + test: ["CMD-SHELL", "rabbitmq-diagnostics ping"] + interval: 10s + timeout: 5s + retries: 10 depends_on: logspout: condition: "service_started" @@ -45,7 +50,13 @@ services: - ./init-databases.sh:/init-databases.sh:Z - ./init-geo-data.sh:/init-geo-data.sh:Z - ./init-lines-catalog.sh:/init-lines-catalog.sh:Z + healthcheck: + test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DEFAULT_DB"] + interval: 10s + timeout: 5s + retries: 10 restart: unless-stopped +# stop_grace_period: 60s postgres-exporter: profiles: @@ -60,7 +71,8 @@ services: - DATA_SOURCE_URI=postgres:5432/postgres?sslmode=disable restart: unless-stopped depends_on: - - postgres + postgres: + condition: service_healthy elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:8.19.10 @@ -76,7 +88,13 @@ services: - action.auto_create_index=filebeat-* volumes: - $GRIDSUITE_DATABASES/elasticsearch:/usr/share/elasticsearch/data + healthcheck: + test: ["CMD-SHELL", "curl -fsS http://localhost:9200/_cluster/health >/dev/null"] + interval: 10s + timeout: 5s + retries: 10 restart: unless-stopped +# stop_grace_period: 60s elasticsearch-exporter: profiles: @@ -89,7 +107,8 @@ services: - "9114:9114" restart: unless-stopped depends_on: - - elasticsearch + elasticsearch: + condition: service_healthy kibana: profiles: @@ -101,7 +120,8 @@ services: environment: - LOGSPOUT=ignore depends_on: - - elasticsearch + elasticsearch: + condition: service_healthy restart: unless-stopped logstash: @@ -115,7 +135,8 @@ services: environment: - LOGSPOUT=ignore depends_on: - - elasticsearch + elasticsearch: + condition: service_healthy restart: unless-stopped socat: @@ -154,6 +175,9 @@ services: - PGADMIN_DEFAULT_PASSWORD=admin volumes: - ./servers_pgadmin.json:/pgadmin4/servers.json + depends_on: + postgres: + condition: service_healthy restart: unless-stopped s3-storage: @@ -169,7 +193,13 @@ services: - MINIO_ROOT_PASSWORD=s3password volumes: - $GRIDSUITE_DATABASES/cases_v1/miniodata:/data:Z + healthcheck: + test: ["CMD-SHELL", "curl -fsS http://localhost:9000/minio/health/live >/dev/null"] + interval: 10s + timeout: 5s + retries: 10 restart: on-failure +# stop_grace_period: 60s prometheus: profiles: From a16a2e11427cc38129448368398646591c9f9014 Mon Sep 17 00:00:00 2001 From: BOUHOURS Antoine Date: Fri, 24 Apr 2026 15:31:42 +0200 Subject: [PATCH 05/14] Remove study x-light Signed-off-by: BOUHOURS Antoine --- docker-compose/docker-compose.base.yml | 12 ------------ docker-compose/study/docker-compose.study.yml | 7 ------- 2 files changed, 19 deletions(-) diff --git a/docker-compose/docker-compose.base.yml b/docker-compose/docker-compose.base.yml index 604ecf6d..ff182655 100644 --- a/docker-compose/docker-compose.base.yml +++ b/docker-compose/docker-compose.base.yml @@ -50,7 +50,6 @@ services: - suite - study - study-light - - study-xlight - dynamic-mapping - dynamic-simulation - import @@ -87,7 +86,6 @@ services: - suite - study - study-light - - study-xlight - dynamic-mapping - dynamic-simulation - import @@ -124,7 +122,6 @@ services: - suite - study - study-light - - study-xlight - dynamic-mapping - dynamic-simulation - import @@ -160,7 +157,6 @@ services: - suite - study - study-light - - study-xlight - dynamic-mapping - dynamic-simulation - import @@ -227,7 +223,6 @@ services: - suite - study - study-light - - study-xlight - dynamic-mapping - dynamic-simulation - import @@ -262,7 +257,6 @@ services: - suite - study - study-light - - study-xlight - dynamic-mapping - dynamic-simulation - import @@ -334,7 +328,6 @@ services: - suite - study - study-light - - study-xlight - dynamic-mapping - dynamic-simulation - import @@ -371,7 +364,6 @@ services: - suite - study - study-light - - study-xlight - dynamic-mapping - dynamic-simulation - import @@ -404,7 +396,6 @@ services: - suite - study - study-light - - study-xlight - dynamic-mapping - dynamic-simulation - import @@ -435,7 +426,6 @@ services: - suite - study - study-light - - study-xlight - dynamic-mapping - dynamic-simulation - import @@ -468,7 +458,6 @@ services: - suite - study - study-light - - study-xlight - dynamic-mapping - dynamic-simulation - import @@ -534,7 +523,6 @@ services: - suite - study - study-light - - study-xlight - dynamic-mapping - dynamic-simulation - import diff --git a/docker-compose/study/docker-compose.study.yml b/docker-compose/study/docker-compose.study.yml index 3f8fe584..02b0ec29 100644 --- a/docker-compose/study/docker-compose.study.yml +++ b/docker-compose/study/docker-compose.study.yml @@ -7,7 +7,6 @@ services: - suite - study - study-light - - study-xlight - dynamic-simulation image: gridsuite/study-server:latest ports: @@ -43,7 +42,6 @@ services: - suite - study - study-light - - study-xlight - dynamic-simulation image: gridsuite/geo-data-server:latest ports: @@ -75,7 +73,6 @@ services: - suite - study - study-light - - study-xlight - dynamic-simulation image: powsybl/single-line-diagram-server:latest ports: @@ -107,7 +104,6 @@ services: - suite - study - study-light - - study-xlight - dynamic-simulation - monitor image: gridsuite/network-modification-server:latest @@ -145,7 +141,6 @@ services: - suite - study - study-light - - study-xlight - dynamic-simulation image: gridsuite/study-notification-server:latest ports: @@ -208,7 +203,6 @@ services: - suite - study - study-light - - study-xlight - dynamic-simulation image: gridsuite/network-map-server:latest ports: @@ -292,7 +286,6 @@ services: - suite - study - study-light - - study-xlight - dynamic-simulation image: gridsuite/gridstudy-app:latest ports: From 9578fbc78922a6018f308985feb7ce3a1372a1cf Mon Sep 17 00:00:00 2001 From: BOUHOURS Antoine Date: Fri, 24 Apr 2026 15:40:14 +0200 Subject: [PATCH 06/14] Remove outdated comments Signed-off-by: BOUHOURS Antoine --- docker-compose/docker-compose.base.yml | 20 +++++------ .../monitor/docker-compose.monitor.yml | 6 ++-- docker-compose/study/docker-compose.study.yml | 36 +++++++++---------- 3 files changed, 31 insertions(+), 31 deletions(-) diff --git a/docker-compose/docker-compose.base.yml b/docker-compose/docker-compose.base.yml index ff182655..ad416437 100644 --- a/docker-compose/docker-compose.base.yml +++ b/docker-compose/docker-compose.base.yml @@ -31,7 +31,7 @@ services: required: false restart: unless-stopped environment: - - JAVA_TOOL_OPTIONS=-Xmx186m #deployment: 768m + - JAVA_TOOL_OPTIONS=-Xmx186m command: > --server.port=80 --spring.config.additional-location=/config/ @@ -274,15 +274,15 @@ services: condition: "service_started" required: false environment: - - JAVA_TOOL_OPTIONS=-Xmx768m #deployment: 1408m + - JAVA_TOOL_OPTIONS=-Xmx768m command: --server.port=80 --spring.config.additional-location=/config/ sysctls: - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1280m #deployment: 2048m + memswap_limit: 1280m deploy: resources: limits: - memory: 1280m #deployment: 2048m + memory: 1280m network-conversion-server: profiles: @@ -312,15 +312,15 @@ services: condition: "service_started" required: false environment: - - JAVA_TOOL_OPTIONS=-Xmx576m #deployment: 1408m + - JAVA_TOOL_OPTIONS=-Xmx576m command: --server.port=80 --spring.config.additional-location=/config/ sysctls: - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1g #deployment: 2048m + memswap_limit: 1g deploy: resources: limits: - memory: 1g #deployment: 2048m + memory: 1g loadflow-server: profiles: @@ -348,15 +348,15 @@ services: condition: "service_started" required: false environment: - - JAVA_TOOL_OPTIONS=-Xmx576m #deployment: 1408m + - JAVA_TOOL_OPTIONS=-Xmx576m command: --server.port=80 --spring.config.additional-location=/config/ sysctls: - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1664m #deployment: 3072m + memswap_limit: 1664m deploy: resources: limits: - memory: 1664m #deployment: 3072m + memory: 1664m config-server: profiles: diff --git a/docker-compose/monitor/docker-compose.monitor.yml b/docker-compose/monitor/docker-compose.monitor.yml index 27484d70..90b48979 100644 --- a/docker-compose/monitor/docker-compose.monitor.yml +++ b/docker-compose/monitor/docker-compose.monitor.yml @@ -46,12 +46,12 @@ services: rabbitmq: condition: service_healthy environment: - - JAVA_TOOL_OPTIONS=-Xmx1086m #deployment: 3072m + - JAVA_TOOL_OPTIONS=-Xmx1086m command: --server.port=80 --spring.config.additional-location=/config/ sysctls: - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1792m #deployment: 5632m + memswap_limit: 1792m deploy: resources: limits: - memory: 1792m #deployment: 5632m + memory: 1792m diff --git a/docker-compose/study/docker-compose.study.yml b/docker-compose/study/docker-compose.study.yml index 02b0ec29..fbcfab87 100644 --- a/docker-compose/study/docker-compose.study.yml +++ b/docker-compose/study/docker-compose.study.yml @@ -88,15 +88,15 @@ services: condition: "service_started" required: false environment: - - JAVA_TOOL_OPTIONS=-Xmx186m #deployment: 576m + - JAVA_TOOL_OPTIONS=-Xmx186m command: --server.port=80 --spring.config.additional-location=/config/ sysctls: - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 512m #deployment: 1024m + memswap_limit: 512m deploy: resources: limits: - memory: 512m #deployment: 1024m + memory: 512m network-modification-server: profiles: @@ -125,15 +125,15 @@ services: condition: "service_started" required: false environment: - - JAVA_TOOL_OPTIONS=-Xmx576m #deployment: 1086m + - JAVA_TOOL_OPTIONS=-Xmx576m command: --server.port=80 --spring.config.additional-location=/config/ sysctls: - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1g #deployment: 1664m + memswap_limit: 1g deploy: resources: limits: - memory: 1g #deployment: 1664m + memory: 1g study-notification-server: profiles: @@ -216,15 +216,15 @@ services: condition: "service_started" required: false environment: - - JAVA_TOOL_OPTIONS=-Xmx384m #deployment: 768m + - JAVA_TOOL_OPTIONS=-Xmx384m command: --server.port=80 --spring.config.additional-location=/config/ sysctls: - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 768m #deployment: 1280m + memswap_limit: 768m deploy: resources: limits: - memory: 768m #deployment: 1280m + memory: 768m cgmes-gl-server: profiles: @@ -327,15 +327,15 @@ services: condition: "service_started" required: false environment: - - JAVA_TOOL_OPTIONS=-Xmx1086m #deployment: 3072m + - JAVA_TOOL_OPTIONS=-Xmx1086m command: --server.port=80 --spring.config.additional-location=/config/ sysctls: - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1792m #deployment: 5632m + memswap_limit: 1792m deploy: resources: limits: - memory: 1792m #deployment: 5632m + memory: 1792m dynamic-simulation-server: profiles: @@ -542,15 +542,15 @@ services: condition: "service_started" required: false environment: - - JAVA_TOOL_OPTIONS=-Xmx768m #deployment: 1408m + - JAVA_TOOL_OPTIONS=-Xmx768m command: --server.port=80 --spring.config.additional-location=/config/ sysctls: - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1792m #deployment: 3072m + memswap_limit: 1792m deploy: resources: limits: - memory: 1792m #deployment: 3072m + memory: 1792m shortcircuit-server: profiles: @@ -639,15 +639,15 @@ services: condition: "service_started" required: false environment: - - JAVA_TOOL_OPTIONS=-Xmx768m #deployment: -Xmx1086m + - JAVA_TOOL_OPTIONS=-Xmx768m command: --server.port=80 --spring.config.additional-location=/config/ sysctls: - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1792m #deployment: 2432m + memswap_limit: 1792m deploy: resources: limits: - memory: 1792m #deployment: 2432m + memory: 1792m #just here for dev purpose, we don't want to start with this profile unless we need to. case-import-server: From 0e9b39c2f5c228f0b9f819d5d9f322cdbcb01d5c Mon Sep 17 00:00:00 2001 From: BOUHOURS Antoine Date: Wed, 29 Apr 2026 11:05:00 +0200 Subject: [PATCH 07/14] Remove outdated comments Signed-off-by: BOUHOURS Antoine --- docker-compose/docker-compose.base.yml | 4 +- .../docker-compose.dynamic-mapping.yml | 6 +- .../monitor/docker-compose.monitor.yml | 12 ++-- docker-compose/study/docker-compose.study.yml | 60 +++++++++---------- 4 files changed, 41 insertions(+), 41 deletions(-) diff --git a/docker-compose/docker-compose.base.yml b/docker-compose/docker-compose.base.yml index c248e2b1..6320d8cb 100644 --- a/docker-compose/docker-compose.base.yml +++ b/docker-compose/docker-compose.base.yml @@ -353,11 +353,11 @@ services: command: --server.port=80 --spring.config.additional-location=/config/ sysctls: - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1664m +² memswap_limit: 1g deploy: resources: limits: - memory: 1664m + memory: 1g config-server: profiles: diff --git a/docker-compose/dynamic-mapping/docker-compose.dynamic-mapping.yml b/docker-compose/dynamic-mapping/docker-compose.dynamic-mapping.yml index 55a61833..f2c7a67b 100644 --- a/docker-compose/dynamic-mapping/docker-compose.dynamic-mapping.yml +++ b/docker-compose/dynamic-mapping/docker-compose.dynamic-mapping.yml @@ -44,12 +44,12 @@ services: condition: "service_started" required: false environment: - - JAVA_TOOL_OPTIONS=-Xmx576m + - JAVA_TOOL_OPTIONS=-Xmx384m command: --server.port=80 --spring.config.additional-location=/config/ sysctls: - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1g + memswap_limit: 768m deploy: resources: limits: - memory: 1g \ No newline at end of file + memory: 768m \ No newline at end of file diff --git a/docker-compose/monitor/docker-compose.monitor.yml b/docker-compose/monitor/docker-compose.monitor.yml index c54f36e9..a083a61a 100644 --- a/docker-compose/monitor/docker-compose.monitor.yml +++ b/docker-compose/monitor/docker-compose.monitor.yml @@ -46,15 +46,15 @@ services: rabbitmq: condition: service_healthy environment: - - JAVA_TOOL_OPTIONS=-Xmx1086m + - JAVA_TOOL_OPTIONS=-Xmx768m command: --server.port=80 --spring.config.additional-location=/config/ sysctls: - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1792m + memswap_limit: 1280m deploy: resources: limits: - memory: 1792m + memory: 1280m monitor-lf-worker-server: profiles: @@ -67,12 +67,12 @@ services: - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped environment: - - JAVA_TOOL_OPTIONS=-Xmx768m #deployment: 1408m + - JAVA_TOOL_OPTIONS=-Xmx768m command: --server.port=80 --spring.config.additional-location=/config/ sysctls: - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1536m #deployment: 3072m + memswap_limit: 1280m deploy: resources: limits: - memory: 1536m #deployment: 3072m + memory: 1280m diff --git a/docker-compose/study/docker-compose.study.yml b/docker-compose/study/docker-compose.study.yml index 9a372f78..612040a3 100644 --- a/docker-compose/study/docker-compose.study.yml +++ b/docker-compose/study/docker-compose.study.yml @@ -270,15 +270,15 @@ services: condition: "service_started" required: false environment: - - JAVA_TOOL_OPTIONS=-Xmx768m + - JAVA_TOOL_OPTIONS=-Xmx576m command: --server.port=80 --spring.config.additional-location=/config/ sysctls: - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1.25g + memswap_limit: 1g deploy: resources: limits: - memory: 1.25g + memory: 1g gridstudy-app: profiles: @@ -327,15 +327,15 @@ services: condition: "service_started" required: false environment: - - JAVA_TOOL_OPTIONS=-Xmx1086m + - JAVA_TOOL_OPTIONS=-Xmx768m command: --server.port=80 --spring.config.additional-location=/config/ sysctls: - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1792m + memswap_limit: 1280m deploy: resources: limits: - memory: 1792m + memory: 1280m dynamic-simulation-server: profiles: @@ -358,15 +358,15 @@ services: rabbitmq: condition: service_healthy environment: - - JAVA_TOOL_OPTIONS=-Xmx768m + - JAVA_TOOL_OPTIONS=-Xmx576m command: --server.port=80 --spring.config.additional-location=/config/ sysctls: - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1792m + memswap_limit: 1g deploy: resources: limits: - memory: 1792m + memory: 1g dynamic-security-analysis-server: profiles: @@ -389,15 +389,15 @@ services: rabbitmq: condition: service_healthy environment: - - JAVA_TOOL_OPTIONS=-Xmx768m + - JAVA_TOOL_OPTIONS=-Xmx576m command: --server.port=80 --spring.config.additional-location=/config/ sysctls: - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1792m + memswap_limit: 1g deploy: resources: limits: - memory: 1792m + memory: 1g dynamic-margin-calculation-server: profiles: @@ -420,15 +420,15 @@ services: rabbitmq: condition: service_healthy environment: - - JAVA_TOOL_OPTIONS=-Xmx768m + - JAVA_TOOL_OPTIONS=-Xmx576m command: --server.port=80 --spring.config.additional-location=/config/ sysctls: - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1792m + memswap_limit: 1g deploy: resources: limits: - memory: 1792m + memory: 1g directory-server: profiles: @@ -456,15 +456,15 @@ services: condition: "service_started" required: false environment: - - JAVA_TOOL_OPTIONS=-Xmx186m + - JAVA_TOOL_OPTIONS=-Xmx96m command: --server.port=80 --spring.config.additional-location=/config/ sysctls: - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 512m + memswap_limit: 384m deploy: resources: limits: - memory: 512m + memory: 384m gridexplore-app: profiles: @@ -543,15 +543,15 @@ services: condition: "service_started" required: false environment: - - JAVA_TOOL_OPTIONS=-Xmx768m + - JAVA_TOOL_OPTIONS=-Xmx576m command: --server.port=80 --spring.config.additional-location=/config/ sysctls: - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1792m + memswap_limit: 1g deploy: resources: limits: - memory: 1792m + memory: 1g shortcircuit-server: profiles: @@ -577,15 +577,15 @@ services: condition: "service_started" required: false environment: - - JAVA_TOOL_OPTIONS=-Xmx768m + - JAVA_TOOL_OPTIONS=-Xmx576m command: --server.port=80 --spring.config.additional-location=/config/ sysctls: - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1792m + memswap_limit: 1g deploy: resources: limits: - memory: 1792m + memory: 1g timeseries-server: profiles: @@ -606,15 +606,15 @@ services: condition: "service_started" required: false environment: - - JAVA_TOOL_OPTIONS=-Xmx576m + - JAVA_TOOL_OPTIONS=-Xmx384m command: --server.port=80 --spring.config.additional-location=/config/ sysctls: - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1g + memswap_limit: 768m deploy: resources: limits: - memory: 1g + memory: 768m voltage-init-server: profiles: @@ -640,15 +640,15 @@ services: condition: "service_started" required: false environment: - - JAVA_TOOL_OPTIONS=-Xmx768m + - JAVA_TOOL_OPTIONS=-Xmx576m command: --server.port=80 --spring.config.additional-location=/config/ sysctls: - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1792m + memswap_limit: 1g deploy: resources: limits: - memory: 1792m + memory: 1g #just here for dev purpose, we don't want to start with this profile unless we need to. case-import-server: From 0aa3aa5933ff4f7975d998f58152b5989db65e5b Mon Sep 17 00:00:00 2001 From: BOUHOURS Antoine Date: Wed, 29 Apr 2026 11:30:29 +0200 Subject: [PATCH 08/14] Remove outdated comments Signed-off-by: BOUHOURS Antoine --- README.md | 9 +++++---- docker-compose/docker-compose.base.yml | 1 - docker-compose/study/docker-compose.study.yml | 1 - 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 256b6d30..0d37eafa 100644 --- a/README.md +++ b/README.md @@ -90,13 +90,15 @@ Here's the summary of the profiles and what services they includes: | rabbitmq
postgres
elasticsearch
minio* | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | ✅ | | kibana
logstash
socat
logspout | | | | | | | | ✅ | | | | | pgadmin | | | | | | | | | ✅ | | | -| apps‑metadata‑server
mock‑user‑service
gateway
config‑notification‑server
config‑server
loadflow‑server
network‑conversion‑server
network‑store‑server
user‑admin‑server | | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | | | -| actions‑server
case‑server
filter‑server
report‑server | | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | | ✅ | +| apps‑metadata‑server
mock‑user‑service
gateway
config‑notification‑server
config‑server
loadflow‑server
network‑conversion‑server
network‑store‑server
study‑config‑server
user‑admin‑server
user‑identity‑server | | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | | | +| actions‑server | | ✅ | | ✅ | ✅ | ✅ | ✅ | | | | ✅ | +| case‑server
filter‑server
report‑server | | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | | ✅ | | griddyna‑app
dynamic‑mapping‑server | | | | ✅ | ✅ | ✅ | | | | | | | gridstudy‑app
dynamic‑simulation‑server
dynamic‑security‑analysis‑server
dynamic‑margin‑calculation‑server
timeseries‑server | | | | | ✅ | ✅ | | | | | | | cgmes‑gl‑server
odre‑server
sensitivity‑analysis‑server
shortcircuit‑server
voltage‑init‑server
gridadmin‑app | | ✅ | | | | ✅ | | | | | | | security‑analysis‑server | | ✅ | | | | ✅ | | | | | ✅ | -| directory‑notification‑server
directory‑server
explore‑server
geo‑data‑server
gridexplore‑app
network‑map‑server
single‑line‑diagram‑server
study‑notification‑server
study‑server | | ✅ | ✅ | | ✅ | ✅ | | | | | | +| geo‑data‑server | | ✅ | | | ✅ | ✅ | | | | | | +| directory‑notification‑server
directory‑server
explore‑server
gridexplore‑app
network‑map‑server
single‑line‑diagram‑server
study‑notification‑server
study‑server | | ✅ | ✅ | | ✅ | ✅ | | | | | | | network‑modification‑server | | ✅ | ✅ | | ✅ | ✅ | | | | | ✅ | | monitor-server
monitor-worker-server | | | | | | | | | | | ✅ | | case‑import‑server | | | | | | | ✅ | | | | | @@ -553,4 +555,3 @@ services: ... ``` Now, when using ```docker compose up```, your custom Docker image will be used. - diff --git a/docker-compose/docker-compose.base.yml b/docker-compose/docker-compose.base.yml index 6320d8cb..387bdd63 100644 --- a/docker-compose/docker-compose.base.yml +++ b/docker-compose/docker-compose.base.yml @@ -49,7 +49,6 @@ services: - all - suite - study - - study-light - dynamic-mapping - dynamic-simulation - import diff --git a/docker-compose/study/docker-compose.study.yml b/docker-compose/study/docker-compose.study.yml index 612040a3..1d00a1a3 100644 --- a/docker-compose/study/docker-compose.study.yml +++ b/docker-compose/study/docker-compose.study.yml @@ -41,7 +41,6 @@ services: - all - suite - study - - study-light - dynamic-simulation image: gridsuite/geo-data-server:latest ports: From e941712a23f4734057f39e96e4100ebf89e012ec Mon Sep 17 00:00:00 2001 From: BOUHOURS Antoine Date: Wed, 29 Apr 2026 11:37:32 +0200 Subject: [PATCH 09/14] Remove outdated comments Signed-off-by: BOUHOURS Antoine --- docker-compose/technical/docker-compose.technical.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/docker-compose/technical/docker-compose.technical.yml b/docker-compose/technical/docker-compose.technical.yml index 503cc94d..7768e8b1 100644 --- a/docker-compose/technical/docker-compose.technical.yml +++ b/docker-compose/technical/docker-compose.technical.yml @@ -56,7 +56,6 @@ services: timeout: 5s retries: 10 restart: unless-stopped -# stop_grace_period: 60s postgres-exporter: profiles: @@ -94,7 +93,6 @@ services: timeout: 5s retries: 10 restart: unless-stopped -# stop_grace_period: 60s elasticsearch-exporter: profiles: @@ -199,7 +197,6 @@ services: timeout: 5s retries: 10 restart: on-failure -# stop_grace_period: 60s prometheus: profiles: From 4695f56d71714eff6593acde1d407f4ba0016f53 Mon Sep 17 00:00:00 2001 From: BOUHOURS Antoine Date: Wed, 29 Apr 2026 11:46:01 +0200 Subject: [PATCH 10/14] Remove outdated comments Signed-off-by: BOUHOURS Antoine --- docker-compose/docker-compose.base.yml | 4 +--- .../dynamic-mapping/docker-compose.dynamic-mapping.yml | 4 +--- docker-compose/monitor/docker-compose.monitor.yml | 2 -- docker-compose/study/docker-compose.study.yml | 2 -- docker-compose/technical/docker-compose.technical.yml | 2 -- 5 files changed, 2 insertions(+), 12 deletions(-) diff --git a/docker-compose/docker-compose.base.yml b/docker-compose/docker-compose.base.yml index 387bdd63..0016f644 100644 --- a/docker-compose/docker-compose.base.yml +++ b/docker-compose/docker-compose.base.yml @@ -1,5 +1,3 @@ -version: '4.0' - services: case-server: profiles: @@ -352,7 +350,7 @@ services: command: --server.port=80 --spring.config.additional-location=/config/ sysctls: - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 -² memswap_limit: 1g + memswap_limit: 1g deploy: resources: limits: diff --git a/docker-compose/dynamic-mapping/docker-compose.dynamic-mapping.yml b/docker-compose/dynamic-mapping/docker-compose.dynamic-mapping.yml index f2c7a67b..e9002c99 100644 --- a/docker-compose/dynamic-mapping/docker-compose.dynamic-mapping.yml +++ b/docker-compose/dynamic-mapping/docker-compose.dynamic-mapping.yml @@ -1,5 +1,3 @@ -version: '4.0' - services: griddyna-app: profiles: @@ -52,4 +50,4 @@ services: deploy: resources: limits: - memory: 768m \ No newline at end of file + memory: 768m diff --git a/docker-compose/monitor/docker-compose.monitor.yml b/docker-compose/monitor/docker-compose.monitor.yml index a083a61a..2271c400 100644 --- a/docker-compose/monitor/docker-compose.monitor.yml +++ b/docker-compose/monitor/docker-compose.monitor.yml @@ -1,5 +1,3 @@ -version: '4.0' - services: monitor-server: profiles: diff --git a/docker-compose/study/docker-compose.study.yml b/docker-compose/study/docker-compose.study.yml index 1d00a1a3..b44f4ebc 100644 --- a/docker-compose/study/docker-compose.study.yml +++ b/docker-compose/study/docker-compose.study.yml @@ -1,5 +1,3 @@ -version: '4.0' - services: study-server: profiles: diff --git a/docker-compose/technical/docker-compose.technical.yml b/docker-compose/technical/docker-compose.technical.yml index 7768e8b1..ae1618e9 100644 --- a/docker-compose/technical/docker-compose.technical.yml +++ b/docker-compose/technical/docker-compose.technical.yml @@ -1,5 +1,3 @@ -version: '4.0' - services: rabbitmq: From d65d2ea11f69046a5f7628075e53f25dfbc0911c Mon Sep 17 00:00:00 2001 From: BOUHOURS Antoine Date: Wed, 6 May 2026 08:58:21 +0200 Subject: [PATCH 11/14] Gridmonitor app deployment Signed-off-by: BOUHOURS Antoine --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0d37eafa..234c7404 100644 --- a/README.md +++ b/README.md @@ -555,3 +555,4 @@ services: ... ``` Now, when using ```docker compose up```, your custom Docker image will be used. + From a74edbe3b87fc489ca427d917975d0f5e9f96f17 Mon Sep 17 00:00:00 2001 From: BOUHOURS Antoine Date: Wed, 6 May 2026 09:02:25 +0200 Subject: [PATCH 12/14] fix readme Signed-off-by: BOUHOURS Antoine --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 234c7404..0d37eafa 100644 --- a/README.md +++ b/README.md @@ -555,4 +555,3 @@ services: ... ``` Now, when using ```docker compose up```, your custom Docker image will be used. - From 8fa9f4e55e78891d908b663b2c5ef33d92ae9b21 Mon Sep 17 00:00:00 2001 From: BOUHOURS Antoine Date: Mon, 11 May 2026 15:37:12 +0200 Subject: [PATCH 13/14] add missing depends on Signed-off-by: BOUHOURS Antoine --- docker-compose/monitor/docker-compose.monitor.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docker-compose/monitor/docker-compose.monitor.yml b/docker-compose/monitor/docker-compose.monitor.yml index 1ec928e1..ea1d368a 100644 --- a/docker-compose/monitor/docker-compose.monitor.yml +++ b/docker-compose/monitor/docker-compose.monitor.yml @@ -73,6 +73,10 @@ services: logspout: condition: "service_started" required: false + s3-storage: + condition: service_healthy + rabbitmq: + condition: service_healthy restart: unless-stopped environment: - JAVA_TOOL_OPTIONS=-Xmx768m @@ -100,6 +104,8 @@ services: logspout: condition: "service_started" required: false + rabbitmq: + condition: service_healthy environment: - JAVA_TOOL_OPTIONS=-Xmx96m command: --server.port=80 --spring.config.additional-location=/config/ From 0a17fb2f318aaa9577dd237acc9e643361bd380e Mon Sep 17 00:00:00 2001 From: BOUHOURS Antoine Date: Mon, 11 May 2026 16:13:33 +0200 Subject: [PATCH 14/14] update readme Signed-off-by: BOUHOURS Antoine --- README.md | 37 ++++++++++--------- docker-compose/study-light/.env | 5 +++ docker-compose/study-light/docker-compose.yml | 4 ++ 3 files changed, 29 insertions(+), 17 deletions(-) create mode 100644 docker-compose/study-light/.env create mode 100644 docker-compose/study-light/docker-compose.yml diff --git a/README.md b/README.md index f24e783f..fa0c28f9 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ $ cd deployment ### Application profiles _(alias)_ > [!NOTE] -> If you want to use profiles other than the ones associated with the folders (`dynamic-mapping`, `monitor`, `study`, `suite`, `technical`), you have to use profiles as explained in the [next section](#docker-compose-profiles). +> If you want to use profiles other than the ones associated with the folders (`dynamic-mapping`, `monitor`, `study`, `suite`, `technical`, `study-light`), you have to use profiles as explained in the [next section](#docker-compose-profiles). ```bash $ cd docker-compose/suite @@ -68,6 +68,10 @@ $ cd docker-compose/study $ docker compose up ``` ```bash +$ cd docker-compose/study-light +$ docker compose up +``` +```bash $ cd docker-compose/dynamic-mapping $ docker compose up ``` @@ -91,23 +95,22 @@ _Everything described in this section is inside the folder `explicit-profiles`._ Here's the summary of the profiles and what services they includes: | **Component \ Service** | **_(none)_** | **study** | **study-light** | **dynamic-mapping** | **dynamic-simulation** | **suite** | **import** | **kibana** | **pgadmin** | **metrics** | **monitor** | |--- |--- |--- |--- |--- |--- |--- |--- |--- |--- |--- |--- | -| rabbitmq
postgres
elasticsearch
minio* | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | ✅ | -| kibana
logstash
socat
logspout | | | | | | | | ✅ | | | | +| case-import-server | | | | | | | ✅ | | | | | +| kibana
logspout
logstash
socat | | | | | | | | ✅ | | | | +| elasticsearch-exporter
grafana
postgres-exporter
prometheus | | | | | | | | | | ✅ | | +| gridmonitor-app
monitor-lf-worker-server
monitor-notification-server
monitor-sa-worker-server
monitor-server | | | | | | | | | | | ✅ | | pgadmin | | | | | | | | | ✅ | | | -| apps‑metadata‑server
mock‑user‑service
gateway
config‑server
loadflow‑server
user‑admin‑server | | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | | ✅ | -| config‑notification‑server
network‑conversion‑server
network‑store‑server | | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | | | -| actions‑server
case‑server
filter‑server
report‑server | | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | | ✅ | -| griddyna‑app
dynamic‑mapping‑server | | | | ✅ | ✅ | ✅ | | | | | | -| gridstudy‑app
dynamic‑simulation‑server
dynamic‑security‑analysis‑server
dynamic‑margin‑calculation‑server
timeseries‑server | | | | | ✅ | ✅ | | | | | | -| cgmes‑gl‑server
odre‑server
sensitivity‑analysis‑server
shortcircuit‑server
voltage‑init‑server
gridadmin‑app | | ✅ | | | | ✅ | | | | | | -| security‑analysis‑server | | ✅ | | | | ✅ | | | | | ✅ | -| geo‑data‑server | | ✅ | | | ✅ | ✅ | | | | | | -| directory‑server | | ✅ | ✅ | | ✅ | ✅ | | | | | ✅ | -| directory‑notification‑server
explore‑server
gridexplore‑app
network‑map‑server
single‑line‑diagram‑server
study‑notification‑server
study‑server | | ✅ | ✅ | | ✅ | ✅ | | | | | | -| network‑modification‑server | | ✅ | ✅ | | ✅ | ✅ | | | | | ✅ | -| gridmonitor-app
monitor-server
monitor-sa-worker-server
monitor-lf-worker-server
monitor-notification-server | | | | | | | | | | | ✅ | -| case‑import‑server | | | | | | | ✅ | | | | | -| grafana
prometheus | | | | | | | | | | ✅ | | +| dynamic-margin-calculation-server
dynamic-security-analysis-server
dynamic-simulation-server
timeseries-server | | | | | ✅ | ✅ | | | | | | +| cgmes-gl-server
gridadmin-app
odre-server
sensitivity-analysis-server
shortcircuit-server
voltage-init-server | | ✅ | | | | ✅ | | | | | | +| dynamic-mapping-server
griddyna-app | | | | ✅ | ✅ | ✅ | | | | | | +| geo-data-server | | ✅ | | | ✅ | ✅ | | | | | | +| security-analysis-server | | ✅ | | | | ✅ | | | | | ✅ | +| directory-notification-server
explore-server
gridexplore-app
gridstudy-app
network-map-server
single-line-diagram-server
study-notification-server
study-server | | ✅ | ✅ | | ✅ | ✅ | | | | | | +| directory-server
network-modification-server | | ✅ | ✅ | | ✅ | ✅ | | | | | ✅ | +| actions-server | | ✅ | | ✅ | ✅ | ✅ | ✅ | | | | ✅ | +| config-notification-server
network-conversion-server
network-store-server
study-config-server
user-identity-server | | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | | | +| apps-metadata-server
case-server
config-server
filter-server
gateway
loadflow-server
mock-user-service
report-server
user-admin-server | | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | | ✅ | +| elasticsearch
postgres
rabbitmq
s3-storage | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | To use a profile, you use: ```shell diff --git a/docker-compose/study-light/.env b/docker-compose/study-light/.env new file mode 100644 index 00000000..380c3a26 --- /dev/null +++ b/docker-compose/study-light/.env @@ -0,0 +1,5 @@ +SHOULD_INIT_GEO_DATA=true +SHOULD_INIT_LINES_CATALOG=true + +COMPOSE_PROJECT_NAME=gridstudylight +COMPOSE_PROFILES=study-light diff --git a/docker-compose/study-light/docker-compose.yml b/docker-compose/study-light/docker-compose.yml new file mode 100644 index 00000000..56f1b702 --- /dev/null +++ b/docker-compose/study-light/docker-compose.yml @@ -0,0 +1,4 @@ +include: + - ../docker-compose.base.yml + - ../technical/docker-compose.technical.yml + - ../study/docker-compose.study.yml